Перейти к содержанию

Рекомендуемые сообщения

Опубликовано
comment_17889

Пытаюсь понять по какой логике получено десятичное число 1012728968 нанесенное на карту, когда полный 7 байтный UID карты 045D3C62674F80? Если просто перевести 1012728968 в HEX то будет 3C5D0488. Откуда эти 88 берутся?

 

Задача по формуле восстановить из считываемого 7byte UID то число, которое напечатано на карте.

 

MIFARESMARTEC.jpg

Опубликовано
comment_17891

Ну, начнём с того, что у Вас карта Ультралайт.......

И номер её при чтении начинается как раз с 88h.

Это признак карты Ультралайт.

Ну а дальше сам номер - 7 байт.

То есть карта на запрос отвечает так: 88 04 5В 3С 62 67 4А 80.

В сумме получается не 7 а 8 байт.

Из них взяли только первые 4 байта - 88 04 5D 3C.

И ещё их перевернули - 3C 5D 04 88.

В десятичном виде это как раз и получается - 1 012 728 968.

 

Так что всё правильно !!!

 

Ну а у Вас в начале поста приведён только сам номер карты без признака ( 88h ) ....... :bs:

Опубликовано
  • Автор
comment_17896

Карта вообще Plus S... 88 это видимо код производителя карты и он мало какими ридерами читается, или скорее по умолчанию отбрасывается?

 

Производитель выдал такую формулу:

Sector 0 block 0,HEX number is C1AB3412****.

MSB UID 1234ABC1(ISO format 8 bits of HEX UID)

Detail:

8H-10D >> 1234ABC1,0305441729 >> 0305441729 (result)

(2H-3D),(4H-5D) >> (34H),(ABC1H)>> 052,43969 (result)

Final:

(8H-10D) (2H-3D),(4H-5D) >> 0305441729 052,43969

Опубликовано
comment_17898

Карта вообще Plus S... 88 это видимо код производителя карты и он мало какими ридерами читается, или скорее по умолчанию отбрасывается?

 

Производитель выдал такую формулу:

Sector 0 block 0,HEX number is C1AB3412****.

MSB UID 1234ABC1(ISO format 8 bits of HEX UID)

Detail:

8H-10D >> 1234ABC1,0305441729 >> 0305441729 (result)

(2H-3D),(4H-5D) >> (34H),(ABC1H)>> 052,43969 (result)

Final:

(8H-10D) (2H-3D),(4H-5D) >> 0305441729 052,43969

 

Ну даже если плюс, то 88 ( признак - CT) показывает, что читать надо именно 7 - байтный номер.

И он читается по-другому, в отличии от 4-х байтного.......

При чтении идёт CT + три байта UID. Затем нужно снова обратиться к карте и получить оставшиеся 4 байта UID.

 

То есть команда Select бывает Single, Double и Triple ( SL1 = на 4-х, SL2 = на 7-ми и SL3 = на 10-ти байтные номера ) .

Ну это всё есть в документации .....

 

А считыватели, тут Вы правы, именно отбрасывают этот признак и выводят на индикацию только сам номер .........

  • 2 недели спустя...
Опубликовано
  • Автор
comment_17923

А насколько корректно было использовать служебный признак СТ (88) в генерации десятичного 10 значного номера карты?

Получается, что в таком номере уникальными будут только 3 байта 88 04 5В 3С 62 67 4А 80.

Есть какой-то ISO стандарт который описывает генерацию кода для карт с 7 байтным UID?

Опубликовано
comment_17924

А насколько корректно было использовать служебный признак СТ (88) в генерации десятичного 10 значного номера карты?

Получается, что в таком номере уникальными будут только 3 байта 88 04 5В 3С 62 67 4А 80.

Есть какой-то ISO стандарт который описывает генерацию кода для карт с 7 байтным UID?

 

А кто Вам сказал, что признак у такой карты 88h ? Нет, там другой......

Ещё раз. Признак только показывает, что, при чтении номера, надо читать больше 4-х байт.

Считыватель его в код не включает......

А почему Вы думаете, что потом берутся для работы именно левые байты номера карты ?

Могут браться и правые. То что у Вас на карте написано - это ничего не значит.

 

Вопрос. А зачем Вам 10-ти байтный номер ?

Я вот пока такого "зверя" не встречал.....

Опубликовано
  • Автор
comment_17925

Так вы и сказали, вроде "Ну даже если плюс, то 88 ( признак - CT) показывает, что читать надо именно 7 - байтный номер." )

 

Номер на карте может быть полезен для идентификации карты без считывателя, например.

Опубликовано
comment_17926

Так вы и сказали, вроде "Ну даже если плюс, то 88 ( признак - CT) показывает, что читать надо именно 7 - байтный номер." )

 

 

 

Да, сказал. У Ультралайтов именно признак = 88h. У них номер 7-ми байтный.

Вы написали, что у Вас плюс.

Получается что там признак такой же......

Но у 10-ти байтных должен быть другой. Какой - не знаю.

Мне пока 10-ти байтные номера не попадались......

 

 

Номер на карте может быть полезен для идентификации карты без считывателя, например.

 

Интересная мысль !!!

А зачем это нужно без считывателя ??? :cf:

И, главное, как Вы без считывателя проверите, что написанное соответствует содержимому ???

  • 3 года спустя...
Опубликовано
comment_26531

А как сделать копию ключа дом.ру, не имея оригинал на руках. Я вроде читал, что владельцы tmd-5s как то просто вводят на приборе uid и пишут на zero и всё работает, а как сделать подобное в mifare classic recovery tool или в NFC maker, имея только uid? В mifare classic recovery tool пробовал вбивать эти 4 байта, но он ругается, что-то нужно делать с остальными байтами в 0 блоке, как-то рассчитать

 

С NFC makerom разобрался вроде, он после этих 4 байт кода добавляет ещё 42, а всё остальное нули, и тогда uid меняется у карты

13662669.jpg

Опубликовано
comment_26532
1 час назад, Alukard сказал:

А как сделать копию ключа дом.ру, не имея оригинал на руках. Я вроде читал, что владельцы tmd-5s как то просто вводят на приборе uid и пишут на zero и всё работает, а как сделать подобное в mifare classic recovery tool или в NFC maker, имея только uid? В mifare classic recovery tool пробовал вбивать эти 4 байта, но он ругается, что-то нужно делать с остальными байтами в 0 блоке, как-то рассчитать

 

С NFC makerom разобрался вроде, он после этих 4 байт кода добавляет ещё 42, а всё остальное нули, и тогда uid меняется у карты

13662669.jpg

 

На самом деле одного UID мало.

Поэтому пишется 8 байт информации:

 UID  +  BCC  +  SAK  +  ATQA

 

Обращаю внимание, что здесь UID пишется, начиная с младшего байта.

BCC - контрольная сумма ( от UID)

SAK = 08 для Classic 1K

ATQA = 04 00 для Classic 1K

 

Например:

B2 01 E1 1C   4E   08   04 00

 

Опубликовано
comment_26533
1 час назад, petr5555 сказал:

Обращаю внимание, что здесь UID пишется, начиная с младшего байта.

то есть на карте он был бы напечатан как B2 01 E1 1C или как 1C E1 01 B2 ?

при таком вводе B2 01 E1 1C NFC Maker тоже мне посчитал сумму 4E

 

Цитата

BCC - контрольная сумма ( от UID)

SAK = 08 для Classic 1K

ATQA = 04 00 для Classic 1K

 

Например:

B2 01 E1 1C   4E   08   04 00

 

А есть оффлайновые решения для подсчёта bcc, может какая нибудь готовая формула для Excel? или сайт где можно ввести 4 байта и получить bcc

Помню давно, для подсчёта crc у далласов  и записи их на rw1990 через arduino, скачивал ikeybase, который автоматически подсчитывал им контрольную сумму при вводе

 

И хотел узнать, насколько важны оставшиеся 8 байт в 0 секторе? Если в своём ключе я забью их нулями, а в оригинале там что-то другое, домофон откроется или нет?

Опубликовано
comment_26534
12 часов назад, Alukard сказал:

то есть на карте он был бы напечатан как B2 01 E1 1C или как 1C E1 01 B2 ?

при таком вводе B2 01 E1 1C NFC Maker тоже мне посчитал сумму 4E

 

 

А есть оффлайновые решения для подсчёта bcc, может какая нибудь готовая формула для Excel? или сайт где можно ввести 4 байта и получить bcc

Помню давно, для подсчёта crc у далласов  и записи их на rw1990 через arduino, скачивал ikeybase, который автоматически подсчитывал им контрольную сумму при вводе

 

И хотел узнать, насколько важны оставшиеся 8 байт в 0 секторе? Если в своём ключе я забью их нулями, а в оригинале там что-то другое, домофон откроется или нет?

 

 

 

Ну так вот как я написал ( B2 01 E1 1C   4E   08   04 00 ), так и должно писаться на заготовку ( сектор 0, блок 0 ).

А вот как пишет ваша программа - это я не знаю.......

Но, скорее всего, так и пишет.

А на самих корпусах ключей UID может писаться по-разному.

Тут надо взять хоть один ключ от домофона, прочитать UID и сравнить с написанным на корпусе......

Или сделать 2 варианта копии.

 

BCC, как я помню, это просто логическая операция XOR над 4-мя байтами UID.

 

А зачем вам оставшиеся 8 байт ? 

Чтение производится только по этим первым 8 байтам.

Так что можете оставшиеся 8 байт забивать чем угодно.......

 

 

 

 

 

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...