Ruforum.eu Вход · Регистрация · Правила · Поиск · Помощь
Календарь · Участники · Игры
Вы не авторизованы на форуме. Введите логин и пароль или зарегистрируйтесь    

Страниц: (2)  1 2 > 
Ответить · Новая тема · Новое голосование

Каскадный · [ Стандартный ] · Линейный

Эмулятор таксофонной карты

Подписка на тему | Сообщить другу | Версия для печати
Mura-vey
Гость




Сразу оговорюсь, я этим занимаюсь ради любопытства - попытки разгадать чужой алгоритм. Я не собираюсь пользоваться такой карткой (оно мне и не к чему - мобила есть). Однако хочу обменяться опытом, и если кто делал эмулятор, или попытка скажите. Я могу сказать что из разных источников, инфа полностью противоречивая!
Эмулятор я хочу реализовать на микроконтроллере семейства х8051. Первые 19 байт он тупо читает, с использованной, но не просроченной картки, а поседующие 13 эмулирует сам. Он должен уметь обмениваться данными с таксофоном, и делать то что он "скажет"!
Емкость тел. картки 256 бит (32 байта). Первые 19 байт содержат код страны или города (первые 3 байта), потом серийнай номер картки + контрольная сумма + дата (~3-13 байт), затем проверочные байты с еденицами (6 байт). Далее идёт кол-во едениц (4 байта). Потом содержимое повторяется с 16 по 23 байт. И будет повторяться n кол-во раз.
Сложность заключается в том что кол-во едениц в картке несколько зашифровано... В этом вся и сложность. Потом я не знаю какой именно контролер использовать. Надеюсь я этим кого-нить заинтриговал.
26.05.2003 · 14:01
Гость
Гость




То что ты описал - это стандарт работы карты по ISO семь тысячь какомуто. Реально могу сказать про таксофы в Эстонии - используется несколько алгоритмов проверки карты на вшивость.
Первое - индуктивная рамка в таксофоне, расположенная вокруг чипа карточки - чтобы нельзя было вывести провода из карты и снять реальные сигналы работы карта<->таксофон. Лечится заземлением на корпус таксофона если он металлический. (В латвии этот способ не работает, зато из-за особенности рамки можно провести провода без вызывания наводок)
Второе - проверка на оригинальность чипа на карте - при отключенном питании поочерёдно на все контакты карты посылаются импульсы и снимается сигнал с остальных - соответственно, неоригинальный отвечает по другому (точнее прохождение сигнала или наводки на другие ноги у него другое).
Третье, и самое главное - карты работают по стандарту ISO, вся спецификация есть в Интернете... то есть можно взять оригинальную карту (первый N байт), элементарно написать эмулятор убывания единиц с карты... но она работать не будет.
Во время инициализации карты в один определённый момен таксофон подает на карту импульс, и карта по определённому алгоритму выдает ответ. (ответ зависит от содержания всех байтов карты) - то есть если на карте изменилось количество времени на 1 единицу - соответсвенно ответ должен быть другим. длинна ответа более 40 бит. Всё происходит на частоте порядка 2-4 мегагерц. то есть вопрос<->ответ похож просто на сброс карты.
В таксофоне стоит чип, который по такомуже алгоритму сравнивает полученный ответ с данными, которые она выдала (номер карты, количество единиц и тп.) и, если совпало - всё, авторизация прошла.

Так что думай... на карте 256 бит, все они спользуются для кода авторизации (40-48бит)... Сможешь разгадать да ещё и эмулировать в реале процесс - молодец...

То есть сложность не в том, что количество единиц зашифровано (оно то как раз доступно, и даже подключив напрямую карту к LPT ты можешь уменьшать количество единиц на карте, причём карта таки будет рабочей) а в алгоритме авторизации.

С уважением,
27.05.2003 · 10:37
Гость
Гость




Опять же повторюсь - это Эстония, Латвия, Польша, Германия, в России не пробовал smile.gif
27.05.2003 · 10:39
Mura-vey
Гость




Штандарт ISO мне известен (страниц 100 инфы различной). Вывод проводов из таксофона - без проблем, работайт. Я платку делал на кот. ставил чип от обычной карточки, всё без проблем работало. (Я пытался обламать таксофон сначала дать ему сожрать картку с 1 ед., а потом когда дойдёт дело до разговора перебросить на 0 ед.. Не вышло frown.gif )
27.05.2003 · 15:10
Mura-vey
Гость




Впрочем, я рад ЛЮБОЙ инфе, кот. хоть как-то себя оправдывает!
27.05.2003 · 21:13
Гость
Гость




на ixbt закрыли...
я российские аппараты не знаю, поэтому по анологии -
вставляем карточку с проводами в таксофон, провода уходят в наружний девайс, в котором есть и оригинальная карта, и эмулятор убывания единиц. таксофон при снятии трубки считывает оригинальную карту. после набора номера эмулятор должен перехватить управление на себя и рапортавать о том, что единицы уходят с карты.
Всё красиво. но не работает frown.gif
есть ещё один ньюанс - в таксофоне есть память, от 4 до 16 мег... судя по всему во всех - на счёт россии - в питере есть. в течении дня собирается инфа о тех карточках, которые там звонились (судя по всему которые до 0) и ночью всё это уходит на АТС, и потом обратно.
карточка перестаёт работать на 2 день.
27.05.2003 · 21:22
Гость
Гость




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

то есть реально эмулировать карточку (забить копию карты + ответ авторизации), и эмулировать снатие единиц. вот только работает она 2-3 дня.
27.05.2003 · 21:30
Mura-vey
Гость




Хм, ну можно раз в 2-3 дня обновлять её laugh.gif У меня МОРЕ дома юзанных, пустых, но не просроченных карт, так что ещё не всё потеряно! На каждую защиту есть свой хакер type.gif thumb.gif Вот глянте, не поленитесь слейте не пожалеете! http://xggav.chat.ru/
28.05.2003 · 07:05
Гость
Гость




Блин! Socket Error=10060 В подключении отказано yell.gif

если у тебя на руках пустая карта - ты с неё не сделаешь полную, точнее сделаешь и отвечать твой эмулятор будет правильно, но не будет проходить авторизация. IMHO. по крайней мере не получалось type.gif
28.05.2003 · 07:47
Mura-vey
Гость




Хм, лажа, а если заюзать просроченную карту, изменить байты даты на нормальные? spy.gif
28.05.2003 · 19:07
Гость
Гость




не даты а количества единиц - это элементарно. я клоню к тому, что карточка при авторизации создаёт ответ, который зависит от содержимого всех 256 байтов карточки. и, если ты этот ответ сможешь эмулировать (прочитав с оригинально карты), то изменив количество единиц на ней, у тебя этот ответ уже не будет совпадать. Хотя я ещё раз повторюсь, что не знаю точно, как работают аппараты у вас smile.gif может такой алгоритм авторизации до вас не дошел smile.gif тогда есть возможность хотя бы несколько дней пользоваться одной картой.

1. найти на карте облать количеста единиц (оставшегося времени, денег).
покупается новая карта, считывается, звонится (симается несколько единиц), опять считывается. 5-6 показаий хватит для выяснения.
2. на микроконтроллере пишется прога, эмулирующая начало карты, и снятие единиц. (заодно и попробуй снимать единицы с оригинальной карты, заодно увидишь как работает).
3. пробовать в таксофоне.
28.05.2003 · 21:21
Mura-vey
Гость




Есть одна лажа!!! Когда я читаю карточку её дамп не совпадает ни с одним дампом памяти карточек найденных в инете!!! (Допустим в москве первый байт должен быть Е8 или Е8, а у меня другой...) Обмен данными с картой происходит это однозначно, но где-то наверное биты теряються...

Добавлено
Я разными прогами (самописными и не самописными) читал, на разные ноги порта паял, не помогает. Может это от того что я питание беру с отдельного источника? Хотя врятли...

Добавлено
Вот дамп карточки Украин телеком
Телефонная карта на 90 единиц
номер 00713388757
коментарий: 90 min (2520 D - 4730 O)
1101 0000 0110 0010 1111 1111 1101 1111
0001 1000 0001 0100 1111 1111 1001 1000
0000 0000 0001 1110 1111 1110 0000 1110
0000 0001 1111 1110 0001 0111 0001 0101
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1101 1010 0000 0101 0101 1101 0110 0110
1011 0110 1010 0110 1100 1111 1000 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111

Вот дамп моей карточки считанной той же прогой
Телефонная карта на 20 единиц
номер 1111111
коментарий: 0 ед. осталось.
1101 0000 0110 0011 0011 1110 0011 0000
0000 0001 1000 1000 0100 1110 0000 1000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0001 1111 1110 0111 1000 0000 1001
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
29.05.2003 · 02:44
Гость
Гость




на счёт дампов - во первых, какого года дамп из интернета? во вторых - результат твой непохож на случайные числа thumb.gif

попробуй не нулевую карту - запомнить значение, и попробовать с компа снять одну единицу - если ты сам написал прогу для чтения type.gif , то добавить же туда снятие не составит труда. и сравни полученные результаты. да и посмотри в таксофоне её - снялась единица или нет.

просто то, что сейчас лежит в нете - перепечатки инфы 98-2000 годов.
29.05.2003 · 06:39
Гость
Гость




тем более если у тебя дома куча использованных карточек - прочти пару свежих и постмотри, на самом ли деле E8?
29.05.2003 · 06:50
Mura-vey
Гость




Не,я ошибся всё пинцетно. Сегодня на таксофоне нашёл картку просроченную (кто то долго носил и не протратил!!!) На ней в дейсвительности есть еденицы, ща правда влом считать (позже посчитаю). Нормально!!! В жень я по 2 - 3 карточки нахожу. Уже штук 500 нашёл да почти все раздал... (Друг коллекционирует). Вот. Я вот думаю, может заюзать серийник просроченной карты? Тогда может эта фича прокатит? А может лучше сделать ДИНАМИЧНЫМ серийник? Вот тогда мы и обламаем таксофон!!! ИДЕЯ!!!!!!!!!!!!!!!1 thumb.gif thumb.gif
29.05.2003 · 14:22
Гость
Гость




Таким образом работали эмуляторы 3 года назад - условно: серийник №000, количество единиц ушло на ноль. карточку вставляют в заряжалку (две батарейки + кнопка) - на эмуляторе к серийнику прибавляется 1 - №001, количество единиц - полное, можно опять говорить по таксофону. laugh.gif приколно было звонить друзьям в европу и канаду smile.gif
так вот года три назад это прикрыли - читай в моём первом посте про авотризацию карты.
29.05.2003 · 23:11
Mura-vey
Гость




Не не дозаряжать карту. Первые 3 байта - код страны, затем идет закодированная дата + сериёнай номер карты ~ 4 байта (1-дата, 3 других серийник). А потом гдето данные. Я Это говорю приблизительно. Если надо точно я могу выложить
Так вот. Контролер псевдослучайным образом каждый раз генерирует случайное число, из 3-х байт и даёт сожрать таксофону. Так что фишка, с тем что таксофон читает карту, запоминает её серийник и кол-во едениц. И если в другом таксофоне появиться карта с бОльшим кол-вом ед. чем на ней осталось её блокируют. А мы серийник делам ДИНАМИЧНЫМ!!! Вот в чём загвоздка... Главное генератор случайных чисел реализовать в МК PIC16F84A-20I/P. Вот!

Добавлено
Карта работает по одному алгоритму, и сильно намудрить с чтением бит врят-ли получится...(Я про авторизацию у таксофона)
30.05.2003 · 05:19
Гость
Гость




как измениться номер карты динамично (случайно) / или просто единица прибавится не суть

динамично:
сн 0000; единиц 100->0 после генерируется новый сн, единиц опять 100:
сн 5619; единиц 100->0 и так далее
сн 8342; единиц 100->0
сн 9745; единиц 100->0

счётчик:
сн 0000; единиц 100->0 после сн увеличивается на 1, единиц опять 100:
сн 0001; единиц 100->0 и так далее
сн 0002; единиц 100->0
сн 0003; единиц 100->0

заряжалка как раз давала эмулятору команду сменить сн и восстановить 100 единиц

работало на ура thumb.gif

суть в том, что сейчас карты проходят дополнительную авторизация spy.gif алгоритм которой неизвестен (по крайней мере мне). frown.gif
30.05.2003 · 09:46
Гость
Гость




Вот кстати хороший ресурс, только цвета нехорошие smile.gif
фрикинг

я многог не знал type.gif
30.05.2003 · 10:07
Гость
Гость




немного неправильно урл встал, зато там есть как раз про авторизацию

Цитата :
Какие выводы можно сделать из всего вышесказанного? У меня вызывают огромные сомнения слова отдельных личностей, которые заявляют о том, что им удалось создать эмулятор таксофонной карты МГТС. Здесь возможны два варианта - либо им известен алгоритм, либо они слегка преувеличивают. ;) Возникает вопрос - можно ли вскрыть алгоритм? Можно, но сложно. ;)


видел я вживую картчку одной команды, там авторизация была как-то обойдена (то есть алгоритм на вскрыли), нашли какуюто дыру.
30.05.2003 · 10:15
Mura-vey
Гость




Гость (Извини я не знаю как тебя зовут), ты меня не совсем правильно понял. У каждой картки есть свой ИН (индивид. ном.) Вот таксофон его и запоминает. Я его предлагаю генирировать каждый раз случайным образом...
30.05.2003 · 17:17
Mura-vey
Гость




Байт Биты Значение/Описание
1 1-8 D8 старые карты
DD новыекарты
2 9-16 код страны
5 33-36 номинал карточки
5 37-40 последняя цифра
года выпуска
6 41-44 № месяца выпуска
6-9 45-64 серийный номер
9 65-72 4096* NBS единиц
10 73-80 512* NBS единиц
11 81-88 64* NBS единиц
12 89-96 8* NBS единиц
13 97-104 1* NBS единиц (NBS-число установленных битов)
14-40 105-320 FF - проверочная область

Итак, можно выделить следующие информационные области на карте: заголовок, счетчик и фуфел. Заголовок содержит 40 бит информации, которые жестко программируются изготовителем карт. Обычно эта область содержит чисто служебные данные, которые в принципе нам нужны только для информативности. Следует иметь в виду, что некоторые производители в битах 36-64 пишут копию даты выпуска и серийного номера. Кроме этого, интересной фишкой является то, что первыми четыремя цифрами серийного номера всегда будет дата выпуска, т.е., 0600 будет означать июнь 2000 года. Назначение счетчика понятно: вначале все биты установлены в 00, потом как только таксофон "съедает" единицу времени, соответствующий бит принимает значение FF. Проверочная область - область, на которой производитель проверяет работоспособность чипа. И, наконец, все, что находится после 40 байта, не имеет для нас никакого значения. Последние две области и есть тот фуфел, который только мешает и вносит кучу неразберихи в этот вопрос.

Значение счетчика определяется по следующему принципу:

Байт 9 10 11 12 13

8-езначение 00000001 00011111 01111111 00000011 00011111

10-езначение 1 5 7 2 5

Переводим из 1*8^4 + 5*8^3 + 7*8^2 + 2*8^1 + 5*8^0

8-й СС в 10-ю 4096 + 2560 + 448 + 16 + 5 =7125

Это я откопировал с сайта http://www.ukrcard.narod.ru/art_card_3_4.htm
30.05.2003 · 19:45
Максим
Гость




31.05.2003 · 01:37
Mura-vey
Гость




Все эти ресурсы, вылизанные, 150 раз обхоженные. Нового ничего нет irked.gif
31.05.2003 · 09:53
December
Гость




Господа, я так понял вы ВСЕ биты можете перезаписывать на карточке??? У меня почему-то не получилось, кроме области счётчика. Если можно, покажите протокол записи, может, я некорректные сигналы кидаю...
31.05.2003 · 22:24
Гость
Гость




Mura-vey
ну я говорил только про серийный номер, ты про всю дату (ИН) карты. как я понимаю, разницы нет, потому что сменив сн карты изменится ИН карты (всётаки СН являается частью ИН).

December
На оригинальной карте можно только уменьшать счётчик времени.
01.06.2003 · 08:35
Mura-vey
Гость




Есть только несколько байт доступных для записи...
01.06.2003 · 15:15
Гость
Гость




Mura-vey
Интересно, получилось ли что-нибудь, или забил?
03.06.2003 · 09:25
Mura-vey
Гость




Пока сессия, я чуть торможу. Но я знаю чела, кот. сделал сам эмулятор!!! А вообщё пик уже прикупил, осталось програматор вобрать!!! thumb.gif
03.06.2003 · 13:04
Гость
Гость




Mura-vey
на пике решил... ладно, тоже занят, потом спрошу smile.gif
03.06.2003 · 13:31
Быстрый ответ



Цитировать выделенный текст [b] Написать жирным[i] Написать с наклоном[u] Написать и подчеркнуть  Функция недоступна..[list] Список из нескольких пунктов с символьными маркерами [quote] Вставить цитату[img] Вставить картинкуФункция недоступна..   [url] Вставить ссылку[email] Вставить e-mail[code] Вставить текст как есть, без изменений и выравниванияРазделительная полоса [hr]  Файл помощи по кодам форума
Тему просматривают:
Страниц: (2)  1 2 >
Ответить · Опции темы · Новая тема

 


Правила форума · FAQ по форуму · Поиск · Архив форума

Наши партнеры: Cooler.irk.ru · WebSound.ru