Kofey Nik
Aug 21 2005, 18:52
Так вот, есть прога для чтения хрен знает чем и как зашифрованного файла. Точнее, я еще не знаю, то ли она шифрует входящий поток данных, то ли он уже идет замутненный из устройства, в котором в принципе наличествует аппаратный криптопроцессор (КР...ВЕ1, но это может, не важно). Прога устанавливается без ключа. Можно ли трассируя ее с помощью отладчика встроенного IDA узнать алгоритм (де)шифрования и распознать формат этого файла, чтоб натаскать на него свою читалку? Не исключено, что прога применяет и шифрование своих процедур, вплоть до динамического. Также можно предполагать... Эээ... Ну, черт ее знает!, методику двух ключей. В общем, есть шансы то?
IMHO, всегда существуе положительная, отличная от нуля вероятность декриптовки, НО сколько это может занять времени и сил......?
Kofey Nik
Aug 23 2005, 06:05
Типа положительного ноля :-) ?
Выяснил, что поток из устройства идет уже закодированный, а принимающая программа тлько записывает в файл. Другая функция ее - раскодирование и текстовое представление в окне.
Достал декодированный файл, и есть исходный (кодированный). Чем посоветуете воспользоваться для определения ключа и способа шифрования? Я как чайник-рецидивист ничего в разных там софтах не смыслю. Хелпте, пожалуйста!
На мой взгляд, можно пойти следующим путем - найти в интернете сигнатуры
известных библиотек защиты, вроде FlexLM, подсунуть их IDA и натравить
IDA на Вашу программу. Если программа сделана с использованием стандартных
защит - то IDA сможет выделить процедуры и пр., относящиеся к ним - далее изучаем текст и пишем свою программу с использованием упомянутых библиотек, которая раскодирует файл.
Можно также заставить программу брать данные не из устройства. а из другого файла, дешифрировать их и сохранять не на экране, а в файле. Вы ведь пишете, что программа умеет дешифрировать.....
Если этого ничего не получается - выход один: разбираться в программе по командам, что и как она делает.
Kofey Nik
Aug 23 2005, 13:21
Внутренний криптопроцессор выполняет криптографические преобразования в соответствии с ГОСТ 28147-89 в режиме выработки имитовставки.
Про ГОСТ здесь.
http://www.enlight.ru/crypto/articles/vinokurov/gost_i.htmПоскольку по запросу на комп информация выдается очень быстро, остается предположить, что преобразование исходного содержимого в шифрованный поток тоже выполняется не средствами (довольно хилого) комуникационного процессора, а аппаратно криптопроцом.
Если сигнатуру не найти, то понадобятся недюжинный опыт, чтобы в ней разобраться дизассемблером. Не по зубам, если честно.
Поэтому я и хочу найти прогу, которая найдет соответствие между входной и выходной ипостасью. Хотя, вероятно, ей этот алгоритм тоже должен быть известным.
Kofey Nik
Aug 24 2005, 07:40
Поясню. Дело в том, что я не думаю, что прога так просто раскудрявится. Сегодня применяют динамические защиты кода, здесь надо быть ассом в виндовой асме. Куча недокументированных сервисов применяется.
А ГОСТовый алгоритм в стандартные библиотеки, боюсь, не входит. Кроме того, я мыслю, что, получив хэш-байт по этому алгоритму очень просто еще замудрить его какой-нить хор 0010011. Тада ваще не узнаешь. Тут нада гибче.
Прогу хочу!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.