Мод версия · Issue #4 · gshevtsov/TroikaDumper · GitHub

Почему нельзя просто подложить карту «тройка» под чехол

На карточке «Тройка» присутствует НФС чип и некоторые хотят обхитрить окружающих — вставляют платежное средство под чехол, но результат не радует. Почему? Тут несколько факторов, которые доказывают малую эффективность работы карты в данном случае. Это:

  1. Передача сигнала у карт «Тройка» незначительна. Работают они на очень близком расстоянии. Чтобы транзакция осуществилась, придется класть карточку к турникету вплотную. Чехлы же не позволяют это сделать. Отсюда и проблемы со считыванием данных. Прежде чем платеж пройдет, человек обратит на себя всеобщее внимание, так как специальный сигнал будет звучать и слышим окружающими.
  2. Внушительный размер карточки. Не под каждый чехол «Тройка» вместится, так как ее размер такой же как кредитка. Нередко края карты остаются снаружи и чехол не удается закрепить на гаджете так как нужно. Некоторые лица ухитряются уменьшать платежное средство, но после такой махинации оно уже не работает полноценно. Практически по всей карте идут «дорожки» НФС-чипа и задев одну из них вы рискуете испортить карту.
  3. Блокировка работы бесконтактных сервисов. Если вы пользуетесь Apple/Android/Samsung Pay, то установка «Тройки» на задней части корпуса смартфона станет причиной постоянных сбоев как при оплате проезда, так и покупок.

Также расположение карточки под чехлом может привести к некорректной работе самого телефона. Нередко на экране всплывают различные окна, становится невозможным произвести блокировку экрана, выбивает ошибку в работе приложений и пр. Подобное никому не нравится и говорит лишь о том, что нужно немедля убрать «Тройку» подальше от телефона.

Все вышеперечисленные моменты убеждают пользователей не вставлять карточку под чехол.

Анализ исходного кода


Полученные с помощью Java Decompiler исходные тексты могут быть загружены в любую IDE (Integrated Development Environment) для более удобного изучения. Например, Android Studio.

Декомпилятор не всегда идеально обрабатывает проект — иногда он не справляется и оставляет части smali-кода. Но это не критично, так как главной задачей на данном этапе является анализ кода. Основной целью поиска в исходных текстах программы были ключи для доступа к секторам карты Тройка, описание формата хранения данных в областях памяти карты, содержащих баланс электронного кошелька и механизм пополнения баланса карты.

Беглый анализ исходных текстов позволил найти основные классы и методы работы приложения: регистрацию, работу с кредитной картой, запрос баланса и прочее. Однако ключей для доступа к карте Тройка в исходных текстах обнаружено не было. Было решено не тратить время на подробное изучение исходных текстов, а вместо этого исследовать данные, которыми обменивается приложение с сервером во время работы.

классы в коде приложения «Мой проездной»
image

Возможные цели атаки

Был проведен обзор инфраструктуры, работающей с картой Тройка, для установления наиболее привлекательных целей для атаки. Рассмотрены системы, позволяющие производить запись и считывание баланса электронного кошелька. Из основных критериев оценки была доступность для изучения без риска быть задержанным, простота и низкая стоимость.

Требовалось найти наиболее простую цель для проведения атаки, не требующую использования специальных технических средств и дорогостоящего оборудования.

Турникеты в метроВыполняют списания за поездки в метро. Предположительно, подключены к единой сети метрополитена, куда передаются проведенные транзакции. Вероятно, имеют возможность удаленного управления. Не имеют легкодоступных интерфейсов для подключения. Всегда находятся под наблюдением.

Потенциальный вектор атаки: проникновение в сеть, MitM.______

В результате экспериментов было установлено, что сектор памяти, хранящий информацию о балансе электронного кошелька, содержит криптографическую подпись для подтверждения подлинности данных, так называемую имитовставку. Данный механизм служит для защиты данных от подделки.

Все устройства, работающие с балансом электронного кошелька (турникеты, терминал), проверяют достоверность подписи, и, в случае несоответствия подписи, возвращают ошибку “карта неисправна”.

Установлено, что подпись формируется на основе уникального идентификационного номера карты (UID), поэтому клонирование сектора памяти электронного кошелька из одной карты на другую с отличным UID, всегда дает недействительную подпись.

Несмотря на то, что области памяти электронного кошелька защищены с помощью имитовставки, система оказалась уязвима для атаки повторного воспроизведения. Было сохранено состояние памяти сектора электронного кошелька до прохода через турникет, после чего выполнен проход и операция списания 31 рубля с баланса карты.

шаги атаки повторного воспроизведения

Для установления возможности реальной эксплуатации уязвимости было выполнено продолжительное тестирование атаки повторного воспроизведения на инфраструктуре общественного транспорта Москвы. Первым был протестирован наземный транспорт: троллейбусы, автобусы, трамваи.

Для тестирования систем метрополитена была куплена новая карта и пополнена на 50 рублей. Все проходы через турникеты были выполнены с помощью атаки повторного воспроизведения. Было выполнено 12 поездок в течение 2 дней на общую сумму 384 рубля.

После полного восстановления состояния памяти карты до состояния на момент приобретения, карта продолжила работать в наземном транспорте, но блокировалась при проходе в метро. Из этого следует, что турникеты в метро имеют защиту от данного вида атак, однако срабатывает она с задержкой в несколько дней.

Как бесплатно ездить в метро. москва. без хайда

Что такое карта «Тройка»?

«Тройка» – транспортная карта для оплаты проезда на городском транспорте Москвы и других транспортных услуг. «Тройкой» можно воспользоваться для оплаты проезда на метро, наземном транспорте и пригородных электропоездах.

Почему же именно «Тройка»? Все очень просто: «…пополняемая карта…», нашей целью будет «пополнить» баланс Вашей карты путем неких манипуляций, а каких именно Вы узнаете далее.

Что нам понадобиться:

  1. карта «Тройка»
  2. телефон с версией Android ≥ 4.0 и NFC чипом (NFC чип должен быть производства NXP)
  3. Некая софтина «TroikaDumper» (будет дана ниже)

Так, допустим что с 1 не возникнет проблем, а что насчет телефона? что еще за чип такой NFC?

NFC — Изначально, технология Near Field Communication (

NFC

) получила максимальное распространение в качестве технологии для совершения бесконтактных платежей. Вы можете использовать смарт-карту со встроенным NFC чипом как проездной в общественном транспорте, как платежную карту в учреждениях розничной торговли, как «умную» визитку или как бесконтактную карту-ключ. Если очень грубо сказать — это антенка которая осуществляет беспроводную связь на короткие расстояния

Читайте ещё про NFC:  Как привязать, подключить карту Сбербанка к Apple Pay

Вот небольшой списочек телефонов с NFC:

Что у нас тут по поводу софта?

Разработчик софта Игорь Шевцов нашел уязвимость карты «Тройка», которая позволяет пополнять баланс электронного кошелька без внесения денег. «Взломанная» карта может использоваться для оплаты проезда в общественном транспорте. И позже создал софт для OC android — TroikaDumper.

Скачать —

КЛИК

Как же пользоваться «TroikaDumper» ?

  1. Установите приложение скачав его по ссылке выше
  2. Запустите приложение и поднести карту Тройка.
    Должно отобразится состояние баланса, время последнего прохода и т. д.
    При считывании карты состояние памяти автоматически сохраняется и доступно в архиве (нижняя правая кнопка в виде папки)
  3. Для записи дампа памяти на карту выберите нужный дамп из архива и нажмите кнопку запись.
    Кнопка записи находится левее кнопки архива.

Могут ли заблокировать карту ? Разумеется, но что бы уменьшить шанс блокировки нужно:

  1. Не пополнять более чем на 100р
  2. Никогда не проходите в метро два раза с одинаковым временем последнего прохода. После записи дампа обновите текущее время на карте используя валидатор в наземном транспорте. То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае.

Как узнать заблочили мою карту или нет ? Для этого есть еще одна замечательная программа под android, Troika Block — программа для проверки наличия «тройки» в стоп-листе.

Думаю как пользоваться ей Вы разберетесь, ничего сложного.

§

Что такое карта «Тройка»?

«Тройка» – транспортная карта для оплаты проезда на городском транспорте Москвы и других транспортных услуг. «Тройкой» можно воспользоваться для оплаты проезда на метро, наземном транспорте и пригородных электропоездах.

Почему же именно «Тройка»? Все очень просто: «…пополняемая карта…», нашей целью будет «пополнить» баланс Вашей карты путем неких манипуляций, а каких именно Вы узнаете далее.

Что нам понадобиться:

  1. карта «Тройка»
  2. телефон с версией Android ≥ 4.0 и NFC чипом (NFC чип должен быть производства NXP)
  3. Некая софтина «TroikaDumper» (будет дана ниже)

Так, допустим что с 1 не возникнет проблем, а что насчет телефона? что еще за чип такой NFC?

NFC — Изначально, технология Near Field Communication (

NFC

) получила максимальное распространение в качестве технологии для совершения бесконтактных платежей. Вы можете использовать смарт-карту со встроенным NFC чипом как проездной в общественном транспорте, как платежную карту в учреждениях розничной торговли, как «умную» визитку или как бесконтактную карту-ключ. Если очень грубо сказать — это антенка которая осуществляет беспроводную связь на короткие расстояния

Вот небольшой списочек телефонов с NFC:

Что у нас тут по поводу софта?

Разработчик софта Игорь Шевцов нашел уязвимость карты «Тройка», которая позволяет пополнять баланс электронного кошелька без внесения денег. «Взломанная» карта может использоваться для оплаты проезда в общественном транспорте. И позже создал софт для OC android — TroikaDumper.

Скачать —

КЛИК

Как же пользоваться «TroikaDumper» ?

  1. Установите приложение скачав его по ссылке выше
  2. Запустите приложение и поднести карту Тройка.
    Должно отобразится состояние баланса, время последнего прохода и т. д.
    При считывании карты состояние памяти автоматически сохраняется и доступно в архиве (нижняя правая кнопка в виде папки)
  3. Для записи дампа памяти на карту выберите нужный дамп из архива и нажмите кнопку запись.
    Кнопка записи находится левее кнопки архива.

Могут ли заблокировать карту ? Разумеется, но что бы уменьшить шанс блокировки нужно:

  1. Не пополнять более чем на 100р
  2. Никогда не проходите в метро два раза с одинаковым временем последнего прохода. После записи дампа обновите текущее время на карте используя валидатор в наземном транспорте. То есть, перед каждым проходом в метро нужно выполнить списание через желтый валидатор в автобусе или трамвае.

Как узнать заблочили мою карту или нет ? Для этого есть еще одна замечательная программа под android, Troika Block — программа для проверки наличия «тройки» в стоп-листе.

Думаю как пользоваться ей Вы разберетесь, ничего сложного.

Метрополитен и втб устранили возможность взлома карты «тройка»

Москва. 27 мая. nfcexpert.ru — Уязвимость работы приложения «Мой проездной», из-за которой при помощи стороннего софта хакеры имели возможность менять баланс карты «Тройка», устранена, сообщили «Интерфаксу» в пятницу в пресс-службе московского метрополитена.

«Для нас бесперебойная и безопасная работа подобных систем — вопрос принципиальный и важный. Обнаружив эту проблему ранее, мы оперативно ее устранили совместно с коллегами из ВТБ», — сказал сотрудник пресс-службы.

Он отметил, что приложение «Мой проездной» — совместный с банком ВТБ пилотный проект, который был запущен в 2020 году. «По факту успешного завершения пилота данный функционал будет добавлен в перечень официальных точек пополнения», — сказал собеседник агентства.

Он подчеркнул, что мониторинг уязвимости транспортных приложений, которые позволяют пополнить карту «Тройка», ведется на постоянной основе.

«Мы регулярно реализуем инициативы по ее улучшению и открыты для совершенствования карты «Тройка» и билетной системы в целом», — заявил сотрудник пресс-службы.

Ранее в СМИ была распространена информация о том, что хакеры взломали систему карты «Тройка» и нашли способ пользоваться услугами московского транспорта бесплатно.

Мод версия · issue #4 · gshevtsov/troikadumper

Подскажите, на сайте Мобильного билета указаны следующие модели:
Alcatel One Touch 922
Alcatel One Touch Idol 2 mini S (6036Y)
Alcatel One Touch Idol 2S (6050Y)
Asus Zenfone 2
BlackBerry Bold 9900
BlackBerry Z10
HTC Desire 500 Dual SIM
HTC Desire 600 Dual SIM
HTC Desire 820
HTC Desire EYE
HTC One M9
HTC One SV
HTC One SV LTE
HTC One X (S720e)
Huawei p9 plus
LG Optimus G (E975)
LG G2
LG G3
LG G4
LG G6
Nokia Lumia 620
Nokia Lumia 720
Nokia Lumia 730
Nokia Lumia 735
Nokia Lumia 820
Nokia Lumia 830
Nokia Lumia 920
Nokia Lumia 925
Nokia Lumia 930
Nokia Lumia 1020 LTE
Nokia Lumia 1520
Microsoft Lumia 640 LTE Dual
Meizu MX4 PRO
Meizu PRO 5
Samsung Galaxy A3 (SM-A300F)
Samsung Galaxy A3 2021 (SM-A310F)
Samsung Galaxy A3 Duos
Samsung Galaxy A3 2021 SM-A320F
Samsung Galaxy A5 Duos
Samsung Galaxy A5 (SM-A500F)
Samsung Galaxy A5 2021 SM-A520F
Samsung Galaxy A5 2021 (SM-A510F)
Samsung Galaxy A7 LTE Duos (SM-A700FD)
Samsung Galaxy A7 2021 (SM-A710F)
Samsung Galaxy A7 SM-A700F
Samsung Galaxy A7 2021 SM-A720F
Samsung Galaxy A8 (A530F)
Samsung Galaxy A8 (A730F)
Samsung Galaxy Ace Style LTE (SM-G357FZ)
Samsung Galaxy Core LTE (SM-G386F)
Samsung Galaxy Grand Prime VE LTE (SM-G531F)
Samsung Galaxy J1 LTE (SM-J100FN)
Samsung Galaxy J5 2021 (SM-J510FN)
Samsung Galaxy J7 2021 (SM-J710FN)
Samsung Galaxy J5 2021 (SM-J530FM)
Samsung Galaxy J7 2021 (SM-J730FM)
Samsung Galaxy Mega 6.3 (GT-I9200)
Samsung Galaxy Note 3 Neo LTE (SM-N7505)
Samsung Galaxy Note 3 Neo (SM-N750)
Samsung Galaxy Note 3 (SM-N900)
Samsung Galaxy Note 3 LTE (SM-N9005)
Samsung Galaxy Note 4 (SM-N910C)
Samsung Galaxy Note 5 (N920C)
Samsung Galaxy Premier (GT-I9260)
Samsung Galaxy S3 (GT-I9300)
Samsung Galaxy S4 (GT-I9505)
Samsung Galaxy S4 Active (GT-I9295)
Samsung Galaxy S 4 LTE
Samsung Galaxy S5 (SM-G900F, SM-G900H)
Samsung Galaxy S 5 Duos
Samsung Galaxy S6 (SM-G920F)
Samsung Galaxy S6 Duos (SM-G920FD)
Samsung Galaxy S6 Edge (SM-G925F)
Samsung Galaxy S6 Edge Plus (SM-G928F)
Samsung Galaxy S7 (SM-G930FD)
Samsung Galaxy S7 edge (SM-G935FD)
Samsung Galaxy S8 (SM-G950FD)
Samsung Galaxy S8 (SM-G955FD)
Samsung Galaxy Note 8 (SM-N950F)
Samsung Galaxy S9 (G960F)
Samsung Galaxy S9 (G965F)
Sony Xperia E3 (D2203)
Sony Xperia L (C2105)
Sony Xperia M (C1905)
Sony Xperia M Dual (C2005)
Sony Xperia M2 Aqua (D2403)
Sony Xperia M2 Dual (D2302)
Sony Xperia M4 Aqua Dual (E2333)
Sony Xperia M5 (E5603)
Sony Xperia Sola (MT27i)
Sony Xperia SP (C5303)
Sony Xperia T2 Ultra (D5303)
Sony Xperia T3 (D5103)
Sony Xperia TX (LT29i)
Sony Xperia V (LT25i)
Sony Xperia Z (C6602, C6603)
Sony Xperia Z Ultra (C6833)
Sony Xperia Z LTE
Sony Xperia Z1 (C6902, C6903)
Sony Xperia Z1 Compact (D5503)
Sony Xperia Z2 (D6503)
Sony Xperia Z3 (D6603)
Sony Xperia Z3 Dual (D6633)
Sony Xperia Z3 Compact (D5803, D5833)
Sony Xperia Z5 Dual
Sony Xperia ZL (C6503)
Sony Xperia ZR (C5503)

Читайте ещё про NFC:  Часто задаваемые вопросы о картах с Samsung Pay

Однако для работы приложения, указано что необходим мобильный с чипом NFC от NXP.
Подойдет ли для работы с приложением телефон который не указан на официальном сайте но с NFC от NXP (к примеру, LG G5)?

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

Подключение Тройки в Apple Wallet — наилучшее решение. Плюсов приложение имеет предостаточно, к примеру:

  1. Apple Pay является достаточно безопасным сервисом. Никто не может забрать средства с привязанных карт. Во время транзакций никто не видит платежного средства, так как его не приходится доставать. Реальные номера карт также не отображаются. Также стоит учитывать, что перед проведением платежа для активации сервиса нужно проходить аутентификацию при помощи прикладывания пальца. Сделать это постороннему не под силу, так как идентичных папиллярных рисунков нет.
  2. Исключается потеря платежного инструмента. Не нужно носить все карты в кошельке, их можно положить дома в надежном месте.
  3. Можно объединить все карты в одно приложение. В Эпл Пей загружается до 8 карт.
  4. Экономия времени. Платежи через смартфон происходят за считанные секунды. Пользователю нужно всего лишь произвести разблокировку гаджета и поднести его к терминалу. На задний план уходит необходимость искать карту, получать сдачу и пр.

Список преимуществ прельщает многих, но и от недостатков не уйти. Таковые есть всегда и везде и приложение Валлет не исключение.

К минусам относят:

  1. Полная зависимость от смартфона и его зарядки. Если гаджет плохо работает или разряжен, то воспользоваться Apple Pay не получится. Тройка на Iphone в данном случае будет недоступна. Многих пугают такие ситуации, особенно, когда под рукой нет наличных. Приходится следить за состоянием телефона, носить с собой зарядное устройство, что не всем нравится.
  2. Не во всех местах в городе могут стоять терминалы с NFC. Отсутствие таких считывающих устройств говорит о невозможности использовать бесконтактный сервис. Тут ничего не поделаешь, придется расплачиваться карточкой или наличными.

Каждый сам решает для себя, удобно ли ему пользоваться тройкой через NFC и iPhone. Предварительно стоит взвесить все за и против.

Приложите подорожник: про копирование проездных в 2020

Если меня что-то и вгоняет в тоску, уныние, отчаяние и депрессию в Питерском метро, то это что-то — не Питер над ним, как можно было бы подумать, а местная транспортная карта

Скажите, вы тоже видите, насколько она отвратительна?

Карточка большая, неудобная и я вечно забываю ее на столике в прихожей. А ключи не забываю

Значит, я хочу сделать так, чтобы Подорожник мог висеть на связке ключей, был размером с нормальный брелок и не забывался дома. Я совершенно не хочу пытаться обмануть транспортную систему чтобы ездить бесплатно и я не хочу делать ничего противозаконного

Понятно, что я не один тут такой умный. Быстренько пробежавшись по сети на тему копирования подорожников, я нашел кучу статей прошлых лет, где умельцы брали перезаписываемую NFC метку, с помощью нехитрых телодвижений снимали с оригинальной карты дамп и записывали в копию. А раз уж ридер и NFC брелоки у меня дома лежат еще со студенческих времен, почему бы не попробовать?

Дисклеймер. Копирование карты в целях получения выгоды незаконно. Я планировал пользоваться брелоком вместо оригинальной карты и пополнять ее настоящими деньгами. Если вы хотите чего-то другого — перестаньте этого хотеть

Как это вообще работает?

Читайте ещё про NFC:  Nfc восстановленное

Любая NFC метка — это чип, который может отвечать на внешние запросы считывателя, и антенна в виде катушки, у которой два назначения. Во-первых, она, как и положено антенне, передает какой-то полезный сигнал, а во-вторых, как и положено катушке, обеспечивает чип энергией чтобы он вообще работал

Сам чип хранит в себе какое-то количество блоков информации, которые могут быть защищены двумя ключами. Ключ A нужен, чтобы прочитать блок, ключ B — чтобы его записать. Поэтому, если мы хотим скопировать информацию с Подорожника, нам нужно как-то узнать A ключ для каждого блока, прочитать оттуда информацию и переписать на болванку. Несложно, правда?

Спойлер. Я не буду рассказывать о том, как именно хакнуть карточку и прочитать ее содержимое. Я даже не буду говорить, что в интернетах целая прорва статей о том, как это сделать, и ссылки отлично гуглятся. Потому что это, во-первых, незаконно, а, во-вторых, не работает

Достаем из шкафа ридер, берем из связки перезаписываемую болванку и через час времени получаем полную копию одного подорожника, которая даже читается телефоном

Звучит будто у нас есть брелок, которым можно платить. Бежим на ближайшую станцию метро и кладем его в терминал для пополнения

фейл_звук_фейла.JPG 🙁 Брелок прочитался как проездной, но валидатор написал, что карточка в черном списке и потребовал убрать это подальше

Дальнейшие расследования по делу о том, почему все так плохо, показали следующее. Когда-то давно, у системы, которая процессит подорожники был черный список ID карт. В него попадали сначала заблокированные вручную операторами карточки, а потом и перезаписываемые болванки, потому что формально — это подделка со всеми вытекающими. В какой-то момент таких подделок стало слишком много и вместо черного списка у питерского транспортного хаба появился белый

Короче говоря, система точно знает айдишники всех выпущенных карт еще до продажи пассажирам и на что попало не ведется

В теории, существуют NFC чипы с перезаписываемым айдишником. Технически, это несложно: вместо прошитого лазером нулевого сектора, в них еще один блок EEPROM памяти, который пишется как и все остальные. Но доставка такого добра с алиэкспресса обещала затянуться аж на три недели, а мне нужно сейчас

Решения от разработчиков не работают. Но, на самом деле, мне не нужно копировать проездной и я не собираюсь наживаться на скатывании-раскатывании дампа. Мне просто нужна моя честно купленная карта в другом, более приятном корпусе. Посмотрим, можем ли мы пересадить оригинальные потроха оригинального чипа во что-то, что можно подвесить на ключи

Посмотрим, что может сделать с карточкой щепотка бытовой магии

Через полтора часа я получил насквозь пропахшую ацетоном кухню и совершенно раскисшую карточку. Теперь осталось только уменьшить диаметр катушки, правильно пересчитав количество витков и найти какой-нибудь подходящий корпус

Подходящий корпус нашелся через 15 минут попыток освежить в памяти курс по начерталке в Autodesk Fusion 360 и через пару часов лежал на столике принтера

3D печать — это магия какая-то, определенно

Теперь катушка. Берем оригинальный чип с оригинальной антенной и перематываем витки. Я решил особо не заморачиваться и перемотал как попало

Фиксируем чип с антенной внутри брелока и бежим проверять, как оно читается, на ближайшую станцию нашего подземного тестового контура

фейл_звук_фейла_2.JPG. Никак не читается. Видимо, мотать катушку индуктивности на 5.3 мкГн на глазок было ошибкой

Последняя попытка. Посмотрим, сможем ли мы совместить антенну от нашей болванки, которая читается но невалидна, с оригинальным чипом, который валиден, но не читается

Вскрываем брелок, перепаиваем катушку на наш Подорожник и фиксируем это добро в нашем брелочке

Тому, как это теперь выглядит, рад не только я, но и валидатор на ближайшей станции метро. И еще на нескольких. И терминал для пополнения этих проездных тоже доволен. Короче говоря, оно работает

Подведем итоги

Скопировать проездной питерского метро в конце 2020 можно, но бесполезно. Транспортная система совершенно точно знает что вашу болванку вам никто не продавал и никуда вас по ней не повезет. А еще, это незаконно, да

А вот, чтобы просто подвесить ваш оригинальный Подорожник на ключи, понадобится:

* Оригинальный Подорожник, 1 шт.

* Ацетон технический, 200 мл

* Брелок-донор с рабочей катушкой (или катушка с алиэкспресса, тысячи их)

* Паяльная станция с контролем температуры, 1 шт.

* 3D принтер, 1 шт.

* Работающее метро в вашем городе, как минимум 1 шт

Или просто готовый брелок, который иногда можно найти в продаже

Формат данных в секторе электронного кошелька

Чтобы понять структуру хранения данных в памяти карты, была использована чистая карта, купленная в кассе, по которой не было выполнено ни одной поездки. Далее карта была пополнена 10 раз на 1 рубль через автомат. После каждого пополнения состояние памяти сохранялось. В конце все сохраненные данные были сравнены и установлено, что изменения происходят только в двух блоках 8 сектора.

дампы памяти восьмого сектора после пополнений на 1 рубль
image

Видно, что данные изменяются в первом блоке (нумерация от нуля) с 9 по 15 байт. Очевидно, что в данном месте содержится баланс электронного кошелька. Путем подбора возможных форматов хранения данных было выяснено, что значение баланса электронного кошелька хранится в области памяти от младших 4 бит 8 байта до старших 3 бит 10 байта и рассчитывается по формуле

Где 137B8 значение в памяти карты в шестнадцатеричном формате, а 399 сумма в рублях.Таким образом можно рассчитать значения из предыдущей таблицы.

расчет баланса в секторе электронного кошелька
image

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

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

Adblock
detector