Blog. Just Blog

Исследование защиты программы Datahammer 7yuv

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы Datahammer 7yuv
Скриншот программы Datahammer 7yuv

Datahammer 7yuv - уникальный инструмент для исследователя файлов. Эта программа позволяет искать, просматривать и редактировать "сырые" изображения, которые находятся внутри двоичных файлов. Например, иконки в прошивках различных устройств, графические файлы неизвестных форматов, дампы памяти и т.п. Программа платная, я даже допускаю, что и цена для утилиты с такими возможностями может быть оправдана. Но с другой стороны, платная программа для реверса - это звучит странно.

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

Окно регистрации
Окно регистрации

На ввод левых данных программа реагирует следующим сообщением:

Сообщение о неправильной регистрации
Сообщение о неправильной регистрации

Вот, исходные данные для поисков у нас имеются. Исполняемый файл ничем не накрыт, просто отправляем его на разбор в дизассемблер. Когда он закончит работу, поищем в листинге, где используется строчка сообщения о неправильной регистрации.
  1. .text:00401F4D                 call    edi ; QLineEdit::text(void)
  2. ; QLineEdit::text(void)
  3. .text:00401F4F                 mov     ecx, esi
  4. ; Вызвать функцию проверки
  5. .text:00401F51                 call    sub_4012E0
  6. ; Если ее результат не равен нулю, то регистрация успешная
  7. .text:00401F56                 test    al, al
  8. .text:00401F58                 jnz     loc_401FFF
  9. .text:00401F5E                 push    0FFFFFFFFh
  10. .text:00401F60                 push    offset aTheEnteredKeyS
  11. ; "The entered key seems to be incorrect"
  12. .text:00401F65                 call    ds:?fromAscii_helper@QString
  13. .text:00401F6B                 mov     [esp+40h+var_30], eax
  14. .text:00401F6F                 lea     ecx, [esp+40h+var_28]
  15. .text:00401F73                 push    ecx
  16. .text:00401F74                 mov     [esp+44h+var_4], 0
Если посмотреть функцию проверки, то ничего хорошего там не обнаружится. Криптография. Символы серийника попарно преобразуются в число, полученные числа собираются в хеш, к которому затем применяется шифрование. Я верю, что есть светлые головы, которые в состоянии это обратить, но лично мне такое не под силу. Так что я воспользуюсь старым добрым патчем. Пара команд MOV AL,1 и RET в начало функции проверки по адресу 004012E0, и пациент чувствует себя замечательно.

Программа успешно "зарегистрирована"
Программа успешно "зарегистрирована"

При запуске никаких посторонних окон не появляется, при попытке регистрации программа просто благодарит за покупку. Перевод системной даты на пару месяцев вперед на работоспособности не сказывается. Цель достигнута. Теперь у нас в арсенале есть еще один полезный инструмент для исследований и сэкономленная сумма в твердой валюте. Дополнительный бонус патча в том, что Datahammer 7yuv теперь можно спокойно запускать с флешки на любом компьютере без какой-либо регистрации.

Поделиться ссылкой ВКонтакте
Просмотров: 2574 | Комментариев: 13

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
Win7x86 (20.01.2020 в 04:54):
Цитата000008E0: 8AC3 -> B001

Блин, ошибочка вышла.
Правильный адрес: 000008E6
Win7x86 (20.01.2020 в 03:24):
Что-то не получилось у меня по этому методу. Прога вылетает с ошибкой. Может, адрес не тот? Просьба поправить для будущих поколений :)

По методу xussr получилось. Правда, у него адреса вообще какие-то странные. Пришлось додумывать, что к чему. Вот результат:

000008E0: 8AC3 -> B001

Это для HEX-редактора.
Win7x86 (20.01.2020 в 02:27):
ЦитатаЗдоров. А что, правда, что ты до сих пор на 32битной оси ?

От себя добавлю, что сам сижу на Win7x86 и никуда с неё уходить не собираюсь. Хотя бы чисто из принципа. Но принцип тут даже не нужен: все нужные мне проги прекрасно работают под управлением Win7x86. Больше того: многие из них, вроде Bus Hound, вообще не работают в x64, т.к. юзают 32-битные драйвера и больше не обновляются.
Цитатакак ты борешься с ограничениями ОС в плане памяти ?

Это элементарно лечится патчем ядра, который убирает маркетинговые ограничения M$ на "дозволенный" ими объём памяти. Патч лежит на рутрекере, в поиске вводить fix128.

Для справки: ещё четверть века тому назад вышел 32-битный процессор Pentium Pro с 36-битной адресацией памяти, который позволял адресовать 64 гига оперативки. Почему об этом не знают современные школьники - вопрос к M$ и к системе "образования".

ManHunter, благодарю за лечение ценной проги! Она у меня с июля 2018 года лежит в ожидании доктора :) Я про неё уже и забыл...
xussr (19.04.2019 в 08:23):
У кого не получилось :
CPU Disasm
Address   Hex dump          Command                                                                    Comments
00FF14DC  |.  83C4 04       ADD ESP,4
00FF14DF  |>  8B4C24 24     MOV ECX,DWORD PTR SS:[LOCAL.2]
00FF14E3  |.  5F            POP EDI
00FF14E4  |.  5E            POP ESI
00FF14E5  |.  5D            POP EBP
00FF14E6      B0 01         MOV AL,1___Вот здесь_________
00FF14E8  |.  5B            POP EBX
00FF14E9  |.  64:890D 00000 MOV DWORD PTR FS:[0],ECX
00FF14F0  |.  83C4 20       ADD ESP,20
00FF14F3  \.  C2 0400       RETN 4
00FF14F6      CC            INT3
00FF14F7      CC            INT3
Вот этот кусок!!!
ManHunter (16.04.2019 в 10:16):
У меня нет настолько тяжеленного софта, чтобы испытывать недостаток памяти. А Firefox 3.6.28 очень даже нетребовательный к ресурсам. И под мои нужды хватает, я регулярно посещаю от силы десяток сайтов, не больше.
DimitarSerg (16.04.2019 в 09:01):
ЦитатаКонечно правда, Win7 x86. И в ближайшие несколько тысяч лет обновлять не собираюсь. А что, уже легенды слагают? )

Легенд пока не слышал, но слышал что эта информация пока что передается из уст в уста, даже уже из поколения в поколение, не исключаю в скором будущем мифов и легенд с тобой в главной роли :)

Софт то понятно, а вот как ты борешься с ограничениями ОС в плане памяти ? Ведь сейчас браузеры только отжирают по 2-3 Гб.
ManHunter (16.04.2019 в 08:24):
Конечно правда, Win7 x86. И в ближайшие несколько тысяч лет обновлять не собираюсь. А что, уже легенды слагают? ))
DimitarSerg (16.04.2019 в 07:18):
ЦитатаЛично я дальше обновляться все равно не буду, т.к. там уже только x64 без вариантов.

Здоров. А что, правда, что ты до сих пор на 32битной оси ?
ManHunter (11.04.2019 в 16:50):
На мой взгляд чуть лучше работает дизассемблер на неоднозначных участках, но это не точно :) Лично я дальше обновляться все равно не буду, т.к. там уже только x64 без вариантов.
0110 (10.04.2019 в 18:35):
есть какие-нибудь преимущества перед 6.8, кроме несовместимости плагинов и большей тормознутости для исследования прог под винду?
ManHunter (10.04.2019 в 11:41):
Не пробовал, IDA 7 полностью устраивает.
daxx0r (09.04.2019 в 23:02):
Цитатаможет стоит что то посложнее

Про что-нибудь посложнее - ранее, если я правильно помню, уже упоминалось, что тут этого не будет.

ManHunter, Ghidra не пробовал? Как она тебе?
xussr (06.04.2019 в 19:06):
Спасибо за простые примеры но может стоит что то посложнее просвещать жду не дождусь прям как урок в школе....и не пропадет ваш труд

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0116 сек.) / Память: 4.5 Mb
Наверх