суббота, 29 августа 2015 г.

Узнаем пароль на БД с помощью OllyDbg и IDR



Здравствуйте

Моим автомобилем является Mazda 6, занялся заменой расходников, скачал руководство по ремонту в электронном виде.
Но оболочка мне не понравилась - окно программы не увеличивало размеры, вылез горизонтальный скрол в общем бяда.

Пошарившись в каталоге программы наткнулся на файл большого размера.


Оказалось это БД MS access, при запуске появился запрос пароля.
Можно было конечно натравить спец.средства для вытаскивания пароля как например в этой статье - http://dimassoft.blogspot.ru/2014/12/samsung-c6112-samsung-c-6112.html
Но я решил пойти другим путем - мы займемся реверсом. Приступим.




Для начала узнаем компилятор и наличие\отсутствие пакеров и упаковщиков.
Используем утилиту Detect is easy - http://ntinfo.biz


Ну что ж программа написана на Delphi 7 и ничем не упакована.

Следующая замечательная программа которая нам пригодится  это Interactive Delphi Reconstructor - http://kpnc.org/idr32/en/

Посылаем файл на декомпиляцию и вспоминаем матчасть. Для работы с БД используется строка инициализации в которой задается имя базы, права доступа и собственно пароль.
Выбираем в IDR вкладку String и ищем все что относится к инициализации.
В глаза кидается вот такой текст:


Данная строка используется в этом месте:


С предварительными ласками закончили, вводим тяжелую артиллерию.
Открываем файл в отладчике и ставим бряк по адресу 005F8C85 и запускаем жертву.

Программа прерывается вот здесь:


Пошагово идем дальше, одним глазком поглядывая в стек


И тут же видим подозрительную строчку - 45edfws
Еще немного трассировки и бинго ! Это действительно пароль от нашей БД.


Ну вот и все загадка разгадана, ну и собственно тормозные колодки поменяны)

До новых встреч друзья !

Комментариев нет:

Отправить комментарий