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

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

Ответить

Или воспользуйтесь входом по OpenID: