Копирование неэкспортируемого ключа с JaCarta LT

Программирование, Хакинг, Безопасность, Софт, Железо, а также всё связанное с компьютерами
Funtmos
Сообщения: 7
Зарегистрирован: 07 мар 2023, 13:51
Благодарил (а): 1 раз

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение Funtmos »

mv-tender писал(а):
07 мар 2023, 16:16
SmartcardSniffer.dll из первого поста из архива из папки bin/x86_64
Попробуйте 32 битный dll только в реестре нужно прописать по этому пути
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]
k0smo
Сообщения: 2
Зарегистрирован: 11 мар 2023, 17:21
Поблагодарили: 2 раза

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение k0smo »

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

Что делает скрипт: ищет файлы по маске 30_22_04_20 и 30_36_04_20 и производит их копирование через утилиту DD с фиксированной длиной, побайтово, тем самым получая сразу primary.key и masks.key нужной величины. Чистит директорию от файлов *_in*
Скрипт на Python ищет последовательность файлов свыше 199 байт, затем добавляем файл предшествующий и следующий за данной последователь, в результате данные файлы объединяются в header.key

Как использовать:
1) Установить Python 3 в систему. Например, версию 3.8.9 если используется Win7. Обязательно поставить галочку при установке для интеграции в переменные среды системы Add Python 3.8 to PATH Изображение.
Проверить, что работает путём запуска команды python в командной строке - должен запуститься IDLE Python
https://www.python.org/downloads/windows/
2) Размести в папке c:\1 файл dd.exe
дистрибутив http://www.chrysocome.net/downloads/dd-0.6beta3.zip
Страница с описанием http://www.chrysocome.net/dd
3) Архив со скриптами состоит из 3х файлов:
Perl_maker.bat - выполняет perl writeBinaryAPDU.pl < rundll32.exe.txt
Maker.bat - запускает вышеописанные процессы
jacarta.py - выполняет задачу по поиску файлов для header.key
Порядок действий:
1) положить Perl_maker.bat в C:\1\ там уже должен быть файл writeBinaryAPDU.pl
2) выполнить Perl_maker.bat
3) поместить Maker.bat и jacarta.py в созданную скриптом на предыдущем шаге папку, например 1678545860
4) Запустить Maker.bat - в директории, например 1678545860 будет создана еще одна директория cont - в ней будет 3 файл primary.key, masks.key, header.key
5) Добавить к этим файлам name.key и поместить на съемный диск
Архив со скриптами https://disk.yandex.ru/d/YIdn0BIr2IrxJA
ссылка на видео работы скрипта https://disk.yandex.ru/i/HhAmBEu46wJidQ

На большом количестве подписей протестировать возможности не было, так что вероятны ошибки в работе алгоритмов. Буду рад обратной связи :)
Зореславский
Сообщения: 1
Зарегистрирован: 13 мар 2023, 21:23
Благодарил (а): 1 раз

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение Зореславский »

k0smo писал(а):
11 мар 2023, 22:10
Собрал небольшой скрипт, помогающий собирать и обрабатывать файл полученные после разбора дампа. Является дополнением к инструкции, которая в начале темы, все необходимые настройки с dll и установкой Perl должны быть произведены.

Что делает скрипт: ищет файлы по маске 30_22_04_20 и 30_36_04_20 и производит их копирование через утилиту DD с фиксированной длиной, побайтово, тем самым получая сразу primary.key и masks.key нужной величины. Чистит директорию от файлов *_in*
Скрипт на Python ищет последовательность файлов свыше 199 байт, затем добавляем файл предшествующий и следующий за данной последователь, в результате данные файлы объединяются в header.key

Как использовать:
1) Установить Python 3 в систему. Например, версию 3.8.9 если используется Win7. Обязательно поставить галочку при установке для интеграции в переменные среды системы Add Python 3.8 to PATH Изображение.
Проверить, что работает путём запуска команды python в командной строке - должен запуститься IDLE Python
https://www.python.org/downloads/windows/
2) Размести в папке c:\1 файл dd.exe
дистрибутив http://www.chrysocome.net/downloads/dd-0.6beta3.zip
Страница с описанием http://www.chrysocome.net/dd
3) Архив со скриптами состоит из 3х файлов:
Perl_maker.bat - выполняет perl writeBinaryAPDU.pl < rundll32.exe.txt
Maker.bat - запускает вышеописанные процессы
jacarta.py - выполняет задачу по поиску файлов для header.key
Порядок действий:
1) положить Perl_maker.bat в C:\1\ там уже должен быть файл writeBinaryAPDU.pl
2) выполнить Perl_maker.bat
3) поместить Maker.bat и jacarta.py в созданную скриптом на предыдущем шаге папку, например 1678545860
4) Запустить Maker.bat - в директории, например 1678545860 будет создана еще одна директория cont - в ней будет 3 файл primary.key, masks.key, header.key
5) Добавить к этим файлам name.key и поместить на съемный диск
Архив со скриптами https://disk.yandex.ru/d/YIdn0BIr2IrxJA
ссылка на видео работы скрипта https://disk.yandex.ru/i/HhAmBEu46wJidQ

На большом количестве подписей протестировать возможности не было, так что вероятны ошибки в работе алгоритмов. Буду рад обратной связи :)
Огромное спасибо за ваш труд
Папка cont создается и в ней создаются primary.key и masks.key но не создается header.key
У меня самые большие по весу файлы два по 100 байт, 111_out(100)03_02_06_40 и 116_out(100)03_02_06_40 и я не понимаю как собрать header.key подскажите пожалуйста подробнее...
10 байтовые с таким названием 018_out(10)30_2A_16_28
я правильно понимаю что нужно забросить в одну папку
111_out(100)03_02_06_40
116_out(100)03_02_06_40
все 10 байтовые типа 018_out(10)30_2A_16_28
и у меня нет 48 байт - есть 34 байт и потом 64 байт (это в папке после использования Maker.bat)
Если делать новую выборку без использования скрипта то там есть еще файл 126_in(45)80_4C_20_02 но 48 байт всеравно нет

И еще не понятно откуда брать файлы, так как после отработки Maker.bat часть файлов удаляется, видимо это те которые используются в primary.key и masks.key а для header.key брать из оставшихся файлов? или нужно делать новую выборку файлов и из них формировать header.key
Funtmos
Сообщения: 7
Зарегистрирован: 07 мар 2023, 13:51
Благодарил (а): 1 раз

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение Funtmos »

Зореславский На пятой странице я подробно описал какие файлы должны войти в header.key viewtopic.php?p=20713#p20713
не нужны все 200 байтные файлы и не нужно сортировать по размеру файлов. Найдите первый файл 30_82_ по вашему скрину это 011_out вот после него по прядку должны идти 200 байтные файлы 012_out 013_out и по скину последний будет 025_out в количестве 14 штук, вот вам и нужно взять первый 30_82 + 14 этих 200 байтных + следующий за последним 200 байтным фалом. В итоге должно быть 16 фалов из которых и нужно слепить header.key
Funtmos
Сообщения: 7
Зарегистрирован: 07 мар 2023, 13:51
Благодарил (а): 1 раз

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение Funtmos »

Сегодня провел эксперимент с Рутокен лайт по аналогии с Jacarta оказалось даже проще, файлы обрезать не пришлось primary.key, masks.key, name.key просто переименовать, а header.key лепится из 13 фалов, 11 из которых по 256 байт.
Аватара пользователя
Андрей
Архитектор
Сообщения: 6823
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 496 раз
Поблагодарили: 443 раза

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение Андрей »

Puh_files.jpg
Ко мне в личке обратился товарищ, не может собрать header.key. Это его скриншот.

 ! Сообщение из: Андрей
На скриншоте видно, что брать надо со 165 по 180.
Инструкция писал(а):Находим файлы с самым большим объёмом, плюс берём кусок до и кусок после.
Funtmos писал(а):Найдите первый файл 30_82_ , после него по порядку должны идти 200 байтные файлы в количестве 14 штук, + следующий за последним 200 байтным файлом
У вас нет необходимых прав для просмотра вложений в этом сообщении.
k0smo
Сообщения: 2
Зарегистрирован: 11 мар 2023, 17:21
Поблагодарили: 2 раза

Re: Копирование неэкспортируемого ключа с JaCarta LT

Сообщение k0smo »

Зореславский писал(а):
14 мар 2023, 11:27
10 байтовые с таким названием 018_out(10)30_2A_16_28
я правильно понимаю что нужно забросить в одну папку
111_out(100)03_02_06_40
116_out(100)03_02_06_40
все 10 байтовые типа 018_out(10)30_2A_16_28
Если есть возможность, приложите скриншот/текстовый список имён всех файлов. Возможно данные о том, что файлы должны быть >200 байт не совсем верные у нас. Тогда придёт дорабатывать алгоритм