Вопрос номер 0 — а чем нормально декомпилируется Kotlin (похоже, что приложение на нем)? Стандартные инструменты вроде dex2jar выдают что-то ужасное.
public static final class b<T, R> implements e<T, s<? extends R>> { public b(a param1a, String param1String1, String param1String2) {} public Object a(Object param1Object) { param1Object = param1Object; if (param1Object != null) { param1Object = r.a(new p.d[] { new p.d("scope", "http://esia.gosuslugi.ru/usr_inf?mode=w"), new p.d("client_id", "PGU"), new p.d("grant_type", "password"), new p.d("state", param1Object.getStateMarker()), new p.d("client_secret", param1Object.getSecret()), new p.d("timestamp", param1Object.getTime()), new p.d("token_type", "Bearer"), new p.d("instanceId", this.e.c.d()), new p.d("terminal_name", Build.MODEL), new p.d("terminal_type", "Android"), new p.d("username", this.f), new p.d("password", this.g) }); return this.e.b.a((Map)param1Object); } i.a("it"); throw null; } }
Во-первых — приложение действительно требует ввода логина и пароля от «Госуслуг» и где-то там внутри себя логинится на «Госуслуги». Учитывая, что оно тащит с собой кучку «мониторинговых» штук типа Crashlytics — есть вероятность, что логин и пароль для Госуслуг улетят куда-то в отчете об ошибках. Что мешало сделать нормальный OAuth2 — непонятно.
Во-вторых — да, приложение просит загрузить фотографии с лицом, с паспортом, с лицом и паспортом, наконец. Фотографии никак не проверяются, если очень страшно — зажмите камеру пальцем и сфотографируйте так, приложение ничего не проверяет.
Основная функциональность приложения — вероятно, опросник «китайского образца», у них было модно делать такие приложения системы «да-да-нет-да-сидите дома». Пропуска прикрутили, видимо, в экстренном порядке. Собственно, пропуск генерируется по указанным данным, и представляет собой QR-код со ссылкой вида https://www.gosuslugi.ru/checksession/1?id=GUID. При переходе по ссылке показывается страничка, содержащая урезанные данные — мол, Петр Сидорович И. с паспортом номер 46** ******80 едет из точки А в точку Б. Видимо, проверка этих пропусков сотрудниками полиции будет состоят в переходе по ссылке и сличении этих данных с реальностью. Зачем здесь фотографии паспорта и все такое — непонятно. Особой валидации данных, похоже, нет — но еще раз повторю, при выдаче пропусков она и не нужна.
Что неприятно — все действия в приложении необходимо выполнять с включенным интернетом, выключив соединение, нельзя даже остановить таймер, измеряющий время с момента выхода из дома.
И вот еще один момент — похоже, что запустили веб-версию этого безобразия на «Госуслугах»:
https://www.gosuslugi.ru/395224/1
Сервис, разумеется, безбожно лежит, но ни фотографий паспорта, ничего сверх уже указанного на «Госуслугах» не требует.
UPD Получил через веб-версию разрешение «вынести мусор» — то же самое, QR-код со ссылкой. Главное достоинство по сравнению с мобильным приложением — информация о выданных пропусках сохраняется в личном кабинете Госуслуг, это может пригодиться при каких-либо разборках из-за неправильно выписанных штрафов.