Сейчас на форуме: vsv1, NIKOLA, r0lka, johnniewalker (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Реверс Driver Booster 6.1.0
Посл.ответ Сообщение

Ранг: 14.3 (новичок), 5thx
Активность: 0.070
Статус: Участник

Создано: 01 декабря 2018 00:01
· Личное сообщение · #1

Всем привет. Решил пореверсить софт для установки драйверов. Нужно было достать ключ. Основная регистрация находится в register.dll. После установки бряка на экспорт API ActiveApp и ввода рандомного ключа, пару раз нажимаю F9 и вижу интересный номер в виде F0C6B-E3CDD-1FF7B-70146.
Пробую ввести. Естественно ничего путного не получается. Копаю дальше. Дохожу до RET функи ActiveApp. Вижу в EAX FFFFFFF7. Код ошибки, что ключ не соответствует стране. Пробую менять на 1.
Приводит к некому результату. Пишу заглушку вида:
Code:
  1. 0688BB55 | 6A 01                | push 1                                   |
  2. 0688BB57 | 58                   | pop eax                                  |

Вместо:
Code:
  1. 046ACCAA | 8B45 D4              | mov eax,dword ptr ss:[ebp-2C]            | [ebp-2C]:EntryPoint


Также делаю с функой CheckLicenseLocation
Вроде прога зарегана. Сохраняю патч длл. И вот тут начинаются проблемы.
После закидывания длл в папку с программой она пишет что файлы повреждены и предлагает скачать новые. Уже ставил бряки на все функи которые могут читать дллку. Ни одна не обращается. Прога написана на делфях.

Ссылка на прогу, мою длл и ориг длл прилагается.

https://dropmefiles.com/smJSR




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 01 декабря 2018 00:09
· Личное сообщение · #2

Смотри в сторону проверки цифровой подписи.
Проверяй наличие сертификата в свойствах файла.
Функции проверки типа WinVerifyTrust

-----
EnJoy!


| Сообщение посчитали полезным: RoKZaR

Ранг: 14.3 (новичок), 5thx
Активность: 0.070
Статус: Участник

Создано: 01 декабря 2018 01:51 · Поправил: RoKZaR
· Личное сообщение · #3

Все оказалось банально просто. С помощью api GetPrivateProfileStringW получали md5 хеш нашей Register.dll из файла config.ini и сравнивал его с вычисленным. Соответственно хеши не совпадали и прога падала. Вычислил мд5 для нового файла, вписал в конфиг и прога заработала)
А насчет того что точки останова не срабатывали. Это мой промах. Надо отладчик от имени админа запускать. Api monitor тоже выручил. Если бы не он еще бы провозился неделю. Тему закрываю.
А и еще CreateFileMappingW и GetFileSize ничем бы не помогли от реверса. Размер команд получился такой же как и в исходном файле.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 01 декабря 2018 01:59
· Личное сообщение · #4

RoKZaR пишет:
олучали md5 хеш нашей Register.dll из файла config.ini

А сами хеши никаким ключом не подписаны?
Если так, то это действительно просто )

-----
EnJoy!




Ранг: 14.3 (новичок), 5thx
Активность: 0.070
Статус: Участник

Создано: 01 декабря 2018 02:15
· Личное сообщение · #5

Jupiter пишет:
А сами хеши никаким ключом не подписаны?

Неа)


 eXeL@B —› Крэки, обсуждения —› Реверс Driver Booster 6.1.0
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати