метрo, кaрточки

Статус: Online
Реєстрація: 05.05.2005
Повідом.: 1385
метрo, кaрточки

Зашел недавно в метро, смотрю - студенты все еще пользуются электронными картами для оплаты проезда, вспомнил что сам будучи студентом расшифровывал что там в них записано. Уперся в контрольную сумму в 1 байт которой все было защищено и бросил. Так вот интересно ктонить вычислил алгоритм CRC? У меня даже есть дампов 40 считаных с разных карт, кому интересно могу поделиться.
 
шамаш то шаман но вот перешить карточку не предлагает то......
 
2 лайт: очень информативно
 
_Roman_
есть несколько наиболее широко распространенных алгоритмов расчета CRC.
с некоторыми я работал :) если интересно - кинь дампы и скажи какие байты участвуют в расчетах и кто - собственно CRC/ я гляну, может навскидку какой нить алгоритм подойдет.... :)
 
а смысл? 15 гр. в месяц это дорого считается?
 
спортивный интерес
 
Capricorn сказав(ла):
а смысл? 15 гр. в месяц это дорого считается?
В метро бываю раз в месяц. Это исключительно для повышения самообразованности. Никакого корысного умысла с моей стороны тут нет.
 
Kikaha сказав(ла):
_Roman_
есть несколько наиболее широко распространенных алгоритмов расчета CRC.
с некоторыми я работал :) если интересно - кинь дампы и скажи какие байты участвуют в расчетах и кто - собственно CRC/ я гляну, может навскидку какой нить алгоритм подойдет.... :)
Навскидку по памяти:
В карточке 256 байт. условно можно разбить на несколько полей:
1. серийный номер - уникален для куждой карточки
2. неинформативные байты - 00 или FF во всех картах одинаковые
3. Счетчик который можно только увеличивать. Защита от уменьшения сделана на аппаратном уровне и не ломается в принципе.
4. Служебная информация(31 байт). Вот тут самое интересное. В этом блоке записано (предположительно) : номинал карты, начальное значение счетчика, дата действия( для студ карт). Если взять десять студ карт для одного месяца - информация как правило одинаковая.
5. Байт контрольной суммы. Если переписать из новой карты в старую служебную информацию, то аппарат на стене в метро пишет ошибка CRC. Такую карточку удавалось менять в метрополитене, на нормальную, сделав большие глаза и говоря я незнаю чего ее заглючило.
Т.е. основная проблема - найти алгоритм вычисления срс.
 
_Roman_

если не лень - кинь на мыло
"4. Служебная информация(31 байт). Вот тут самое интересное. В этом блоке записано (предположительно) : номинал карты, начальное значение счетчика, дата действия( для студ карт). Если взять десять студ карт для одного месяца - информация как правило одинаковая.
5. Байт контрольной суммы. "
и еще серийник - думаю он тоже в црц участвует.

я посмотрю более внимательно. kikaha@ukr.net

зы: для меня метро тоже не дорого, просто интересно, для повышения так сказать уровня професионализма :)
 
ладно завтра выложу сюда все дампы что есть, может еще кто подумает. Просто интересно ктонить сможет раздолбать алгоритм или нет. Я например несмог.
Кстати говоря алгоритм считывания такой же как в утеловских картах. Только в утеловских используется только счетчик, т.е. напрямую неподкапаешся, только эмулятор делать. А в метро чтото протормозили и оставили лазейку для людей.
Ридер для карточки может спаять любой, кто умеет паяльник держать в руках. Програму читалку/писалку тоже многие могут написать. Вобщем надо ломать срс
 
студентам продавать карточки будет :-)
 
_Roman_ сказав(ла):
ладно завтра выложу сюда все дампы что есть, может еще кто подумает...
Я не совсем уверен, что это легально, для форума то есть. :)
Поинтересуйся у Dimoks'a.
 
Да, но а кто не студент, и вообще просто азарт.

Прошу прощения, я просто новичок в этом важном для общества деле, но очень интересуюсь. Можно немного поподробнее, какой карт ридер использовал, что за проги, и т.д . Если не сложно есть какая-нибудь инфа по этому вопросу в и-нете? :пиво:
 
KRAK сказав(ла):
Я не совсем уверен, что это легально, для форума то есть. :)
Поинтересуйся у Dimoks'a.
Спешу заметить - речь НЕ идет о использовании информации, выложеной на форуме или в ином месте, с целью наживы. Никто никому несобирается ничего продавать, т.е. наносить ущерб третим лицам (метрополитену). Вся информация которая будет исходить от меня является общедоступной. Т.е. любой человек обладающий некоторыми познаниями в схемотехнике и программировании может считать все это из карточек. Кстати, а если я тут размещу отсканированные сто гривен - это тоже будет подделка денег? :-)
П.С. информация сегодня будет выложена
 
│Rem:На март 2001 А1 0256828 │
│IDT │10000010 11001011 Карта для Украины │82 CB │
│IDC │10011010 01010100 10000001 10100100 01001101 10010001│9A 54 81 A4 4D 91│
│D4-D0 │01111111 01111111 01111100 11000000 11100000 =32595│7F 7F 7C C0 E0 │
│FF`s0 │11111111 11111111 11111111 00172│FF FF FF │
│b0 │00000100 01101010 11100100 11111000 ┌──────────────┤04 6A E4 F8 │
│b1 │01000000 00000100 00010011 11111011 │ Заполнена: │40 04 13 FB │
│FF`s1 │11111111 11111111 11111111 11111111 │ 08/04/2001 │FF FF FF FF │
│FF`s2 │11111111 11111111 11111111 11111111 │ в 02:29:03 │FF FF FF FF │
│0A`s0 │00001010 00001010 00001010 00001010 ├──────────────┤0A 0A 0A 0A │
│FF`s3 │11111111 11111111 11111111 11111111 │Всего: 000 │FF FF FF FF │
│b2 │11010111 11010011 11101000 11011101 ├──────────────┤D7 D3 E8 DD │
│b3 │00000011 10011000 01000110 11111111 │Осталось:000 │03 98 46 FF │
│0A`s1 │00001010 00001010 00001010 00001010 ├──────────────┤0A 0A 0A 0A │
│00`s0 │00000000 00000000 00000000 00000000 │Карта 002/026 │00 00 00 00 │
│00`s1 │00000000 00000000 00000000 00000000 ├──────────────┤00 00 00 00 │
│00`s2 │00000000 00000000 00000000 00000000 │Номер: 0002 │00 00 00 00 │

Жирненьким выделен битовый массив считаный из карты, все остальное это моя интерпретация, в частности перевод в hex, коментарии и т.д.
 
Останнє редагування:
Форматирование кривое, но всеже
итак по полям
IDT - 2 байта, для метро всегда 82 CB, для телефонной E8 31. (только чтение)
IDC - очевидно серийный номер, никогда не совпадал, т.е. уникален для каждой карточки (только чтение)
D4-D0 счетчик. Ограничение по записи - запись возможна только если запись предыдущего бита прошла успешно. Т.к. доступ к карте побитовый, и в счетчик изначально записаны все единицы, то можно только уменьшать счетчик. Я думаю догадаетесь почему. При вставки карты в автомат происходит уменьшение счетчика на 1 (у студ карт автомат не уменьшает счетчик)
FFs0,1,2,3 - у всех карт FF (только чтение а может и записать можно, непомню)
A0s0,1, 00s0,1,2 - теже яйца только в профиль :-)
b0,b1 - не знаю только чтение
b2,b3 - самое интересное в карточке. Четвертый байт б3 везде где я видел равен фф. Третий байт это и есть контрольная сумма. Остальные шесть байт содержат главную информацию.
 
вот файл с 20 картами и небольшое описание структуры
 
_Roman_ сказав(ла):
Спешу заметить - речь НЕ идет о использовании информации, выложеной на форуме или в ином месте, с целью наживы. Никто никому несобирается ничего продавать, т.е. наносить ущерб третим лицам (метрополитену). Вся информация которая будет исходить от меня является общедоступной. Т.е. любой человек обладающий некоторыми познаниями в схемотехнике и программировании может считать все это из карточек.
...
Так думают и те кто занимается обменом музыки и фильмов. И тем не менее это незаконно. :)

_Roman_ сказав(ла):
...
Кстати, а если я тут размещу отсканированные сто гривен - это тоже будет подделка денег? :-)
...
В США - да, в большинстве случаев. :)
 
Останнє редагування:
Назад
Зверху Знизу