Представитель Шуры Люберецкого в ЖЖ (brat_luber) wrote,
Представитель Шуры Люберецкого в ЖЖ
brat_luber

Categories:

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

Вопрос номер 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).

Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments