
Исследование защиты программы Intel Hex File Compare

Скриншот программы Intel Hex File Compare
Программа Intel Hex File Compare предназначена для сравнения двух файлов в формате Intel HEX. Никакими другими привычными инструментами для сравнения файлов это сделать невозможно. Тем, кто работает с микросхемами и прошивками, предмет разговора должен быть хорошо знаком, а остальным оно и даром не надо, кроме как в познавательных целях. Без регистрации программа работает всего несколько дней, активируется и фиксирует триал исключительно онлайн, после чего перестает запускаться до момента оплаты.
Забираем с офсайта дистрибутив, устанавливаем, смотрим что и как. В папке с установленной программой, помимо каких-то рантаймовых библиотек и главного исполняемого файла находится файл IHFC.dat.

Содержимое файла IHFC.dat
Если посмотреть его содержимое, то обнаружится характерная структура исполняемого файла, но если его переименовать, то он не запустится. Энтропия секции кода также говорит о том, что файл либо упакован, либо зашифрован. Секций навесного упаковщика не видно, так что скорее всего это именно шифрование. Ладно, пока оставим этот файл и попробуем запустить главный файл. Первым делом он потребует соединение с интернетом, чтобы зарегистрировать триал. Придется выпустить приложение в сеть хотя бы раз, иначе дальше ничего не произойдет. Зато когда появится окно самой программы, можно полюбопытствовать, какому-такому процессу оно принадлежит?

Информация о процессе
И вот тут получается интересная ситуация. Оказывается, что владелец главного окна - тот самый странный файл IHFC.dat. Значит он каким-то образом все-таки запускается. Можно предположить, что главный исполняемый файл является враппером, который контролирует триал, выполняет проверку активации и всякое такое, а потом загружает в память файл IHFC.dat в статусе "SUSPENDED", выполняет с ним определенные действия, чтобы тот стал запускаемым, ну и в конце запускает. Для таких случаев у меня написана программа UnWrapper Helper. Чтобы не возиться с дампами, воспользуемся версией Dynamic.

Исправляем файл на диске
В списке процессов выбираем IHFC.dat, нажимаем кнопку "Fix File". После работы UnWrapper Helper'а на диске появляется файл IHFC_fixed.exe, в котором полностью восстановлена секция кода и убрана цифровая подпись, поэтому он немного меньше по размеру. Проверяем его на предмет работоспособности, никаких проблем нет, все запускается. Файл враппера больше не нужен, поэтому его можно удалить, а исправленный файл переименовать и записать вместо него.
Вот и все, легким движением руки цель достигнута, программа работает без ограничений. Рискну предположить, что аналогичным образом снимается защита и с остальных продуктов этого разработчика. Но они очень узкоспециализированные, так что проверить их работу в реальных условиях я не могу.
Просмотров: 1825 | Комментариев: 12
Метки: исследование защиты

Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(19.12.2022 в 22:11):
Вот тут, например: https://www.upload.ee/files/14...HFC.exe.html

User
(17.12.2022 в 22:19):
Программа по ссылке недоступна, где сейчас можно скачать?..

user
(12.10.2021 в 15:00):
В качестве комментария:
Программа вполне портабельная, но требует билдеровские библиотеки
rtl60.bpl
vcl60.bpl
Если надо портабельность,
то эти библиотеки тоже придётся таскать вместе с программой.
Программа вполне портабельная, но требует билдеровские библиотеки
rtl60.bpl
vcl60.bpl
Если надо портабельность,
то эти библиотеки тоже придётся таскать вместе с программой.

Exit
(25.07.2021 в 06:33):
В папках PicDis'ов нет *.dat файла и в свойствах *.exe нет Protexis, а дальше не смотрел.
Жека, PicDis'ы не распознали интеловскую прошивку.
Жека, PicDis'ы не распознали интеловскую прошивку.

Exit
(25.07.2021 в 05:46):
ManHunter, спасибо! Поищу, в сети.
Жека, спасибо. гляну)
P.S. главное правильно задать вопрос))
https://www.google.com/search?...disassembler
Жека, спасибо. гляну)
P.S. главное правильно задать вопрос))
https://www.google.com/search?...disassembler

Жека
(24.07.2021 в 20:35):
Exit, у того же производителя - которого тут крякают, есть что то подобное... там не смотрел у них на сайте????

ManHunter
(22.07.2021 в 10:01):
Так а чо, формат Intel HEX известен https://ru.wikipedia.org/wiki/...%D0%BE%D0%B5 , можно выделить из него блоки данных без служебного префикса и CRC, собрать в кучу, перевести побайтно hex->bin и потом загнать в какой-нибудь дизасм. Я не специалист в прошивках, могу только предположить. Чем-то же прошивки ковыряют, значит должны быть дизассемблеры и инструменты для извлечения данных.

Exit
(22.07.2021 в 09:54):
ManHunter, спасибо за статью!
Случайно, не попадалась, прога, которая переводит этот HEX фарш, в какой то удобоваримый формат?
Случайно, не попадалась, прога, которая переводит этот HEX фарш, в какой то удобоваримый формат?

ManHunter
(15.07.2021 в 23:29):
Федя, я бы еще понял, если б это voffka написал. А ты-то что сделал для хип-хопа?

Федя
(15.07.2021 в 19:39):
Да понты можно что то уже и поинтереснее хотя фиг

ManHunter
(07.07.2021 в 22:22):
Protexis. Щаз уже и сайт сдох. Туда им в преисподнюю и дорога.

voffka
(07.07.2021 в 19:41):
В нулевые довольно распространённый протектор был. Производитель и название в свойствах exe.

Добавить комментарий
Заполните форму для добавления комментария
