-
Notifications
You must be signed in to change notification settings - Fork 72
Умарш (RU)
Artem Petrenko edited this page Jul 27, 2022
·
2 revisions
Умарш - разработчик систем продажи билетов и инфраструктуры общественного транспорта.
Сайт: umarsh.com
Они имеют ряд реализаций в России и близлежащих регионах.
Подтверждено:
- Е-Карта (Екатеринбург)
- Крымский троллейбус
- Йошкар-Ола
- Пенза
- Ситикард (Нижний Новгород)
- Киров
- Стриж (Ижевск)
- Омка (Омск)
Каждая карта имеет 3 типа сектора:
- Сектор 0: заполнен нулями, ключ А статичен для региона, ключ В диверсифицированный.
- Зашифрованные сектора: Большой двоичный объект с высокой энтропией или заполненный нулями. Зашифрованные данные или просто случайные. ключи А и В статичны для региона
- Сектор с транспортным приложением: Сектор 8 или 7 (не всегда), ключ А статичен для региона, ключ В диверсифицированный.
Блок 0 — это value block со значением 0x7ffffffff или 0x7ffffffe и адресом 7f. Это односторонний счетчик, только декремент, цель не совсем ясна
Блок 1:
Все в big-endian
Начальный бит | Конечный бит | Длина в битах | Описание |
---|---|---|---|
0 | 7 | 8 | ?? |
8 | 23 | 16 | Срок годности карты |
24 | 39 | 16 | ?? |
40 | 55 | 16 | Счетчик поездок |
56 | 63 | 8 | Счетчик пополнений |
64 | 66 | 3 | Первые 3 бита номера региона |
67 | 95 | 29 | Номер билета |
96 | 99 | 4 | ?? |
100 | 103 | 4 | Последние бита номера региона |
104 | 127 | 24 | Идентификатор тарифа |
Блок 2:
Все в big-endian
Начальный бит | Конечный бит | Длина в битах | Описание |
---|---|---|---|
0 | 15 | 16 | Срок годности |
16 | 23 | 8 | ?? |
24 | 47 | 24 | ID валидатора |
48 | 63 | 16 | Дата последнего пополнения |
64 | 64 | 1 | Флаг терминала |
65 | 79 | 15 | Баланс, в поездках или рублях |
80 | 87 | 8 | ?? |
88 | 127 | 24 | Хэш |
Дата это сжатая дата с 7 битами для года (от 2000), 4 для месяца и 5 для дня
Флаг терминала - это идентификатор того с чего производилось списание/пополнение баланса (1 - терминал; 0 - приложение на телефоне)
Регион | Идентификатор тарифа | Тариф |
---|---|---|
12 | 0x287f00 | -- |
18 | 0x0a7f00 | Взрослый |
18 | 0x1e7f00 | Студенческий |
18 | 0x247f00 | Школьный |
18 | 0x587f00 | Взрослый |
22 | 0x0a002e | Электронный кошелек |
33 | -- | -- |
43 | 0x5000ff | Взрослый |
52 | 0x0a7f00 | Кошелек с пересадкой 60 минут (взрослый) |
52 | 0x0a007f | Кошелек с пересадкой 60 минут (взрослый) |
52 | 0x21007f | Саровский электронный кошелек |
52 | 0x2564ff | Единый - 3 дня |
52 | 0x31002f | Кошелек с пересадкой 90 минут (взрослый) |
52 | 0x33690f | Единый - 16 поездок |
52 | 0x34690f | Единый - 30 поездок |
52 | 0x3c7f00 | Канатная дорога |
55 | 0x5700ff | Школьный |
55 | 0x6300ff | Взрослый |
55 | 0x5800ff | Студенческий |
55 | 0x5900ff | Пенсионный |
55 | 0x15eaff | Льготный (Социальная карта) |
58 | 0x1400ff | Взрослый |
66 | 0x42640f | Проездной на месяц |
91 (Крым) | 0x3d7f00 | Карта школьника «Парус» |
91 (Крым) | 0x467f00 | Карта крымского троллейбуса |