Посмотрел «подмосковное» приложение от короновируса

Вопрос номер 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-код со ссылкой. Главное достоинство по сравнению с мобильным приложением — информация о выданных пропусках сохраняется в личном кабинете Госуслуг, это может пригодиться при каких-либо разборках из-за неправильно выписанных штрафов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *