![]() |
eXeL@B —› Вопросы новичков —› Взлом Dll плагина (программа тестирования) |
Посл.ответ | Сообщение |
|
Создано: 12 сентября 2007 23:41 · Поправил: WhiteP · Личное сообщение · #1 Здравствуйте Уважаемые Crackers! Совсем недавно начал практиковаться во взломе ПО. По учебе понадобилось сломать одну программу, специально написанную для нашего универа - а именно программу тестирования (забегая вперед скажу, что у меня это получилось, но ммм... некрасивым способом (в редакторе ресурсов удалил диалог запроса пароля из RCData). А хочется разобраться по-нормальному.) При загрузке программы появляется маленькое окошко, в нем из выпадающего списка выбираешь плагин для загрузки тестов (dll файл), и уже в появившемся после этого окне выбираешь сам тест. Есть там вкладка для управления тестами (тесты - шифрованные rtf файлы (в директории лежат тож как dll)) - типа извлечь, добавить и т.п. Но при открытии этой вкладки выпадает диалог запроса пароля (ShowModal, AlwaysOnTop; а на заднем фоне то самое окно администрирования с disabled кнопками). Если пароль введен неправильно - перекидывает опять на первую вкладку. ВОПРОС: Как в Olly зацепиться за что-то, если в процессах висит только сам exe-файл (типа loader), а сами тесты это dll? Программа написана на delphi, ничем не запакована. Хотелось бы пропатчить, чтобы принимала любой пароль. p.s. Прошу прощения за размер изложенного и по сути ламерский вопрос. Учусь... Поиск вроде юзал... В Аттаче doc со скриншотами для наглядности интерфейса (мож пригодится)... Выложить прогу не могу - на dial-up <img src="img/attach.gif"> <SCRIPT type=text/javascript>dfl("files/","f838_12.09.2007_CRACKLAB.rU.tgz");< /SCRIPT> - Prog.rar ![]() |
|
Создано: 13 сентября 2007 13:43 · Личное сообщение · #2 |
|
Создано: 13 сентября 2007 22:19 · Личное сообщение · #3 |
|
Создано: 13 сентября 2007 22:53 · Личное сообщение · #4 DillerInc Спасибо за совет, уж попробовал, но возник такой вопрос: при дизассемблировании в DeDe адреса выглядят вроде 0058Fxxx, а если просто загрузить в DLLLOADER в Olly, то там адреса вида 00А8xxxx. Как можно высчитать соответствующий адрес, чтобы пропатчить условный переход (в DeDe вроде бы нашел его), или как-то можно вроде через HEX Editor? ![]() |
|
Создано: 13 сентября 2007 23:10 · Личное сообщение · #5 |
|
Создано: 13 сентября 2007 23:24 · Личное сообщение · #6 Gerpes Я бы с радостью выложил кусок листинга из Olly той DLL (а не ехе, как ты наверное подумал), но в том то и дело, что не знаю как вычислить адрес в Olly соответствующий адресу в DeDe ![]() А насчет таких адресов - аттач (та самая dll, только кусок не тот) ![]() ![]() |
|
Создано: 14 сентября 2007 00:05 · Личное сообщение · #7 |
|
Создано: 14 сентября 2007 00:11 · Личное сообщение · #8 |
|
Создано: 14 сентября 2007 00:25 · Личное сообщение · #9 |
|
Создано: 14 сентября 2007 00:34 · Личное сообщение · #10 |
|
Создано: 14 сентября 2007 01:12 · Личное сообщение · #11 Gerpes Спасибо что помогаешь, хоть и советами... DeDe смещения нормально показывает (дллку не нашел посмотреть) Хмм...Вот я думаю мож dll-ки грузятся в другое адресное пространство (ну адреса дальше типа), а dede их рассматривает как exe? (сам не понял что сказал :s5 ![]() ![]() |
|
Создано: 17 сентября 2007 18:55 · Личное сообщение · #12 WhiteP давай по порядку. Есть какаято прога с плагинами длл, загружеаемыми из списка. Для отладки длл (кстати окно с паролем в ресурсах длл или основной проги?) не обязательно ее отдельно в олли грузить, длл сама по себе все равно не работает. Просто прога в процессе работы загружает эти длл через LoadLibrary, это можно отловить и поставить бряки на АПИ этой длл (если есть) или на другие АПИ (ShowWindow например) - это уже надо конкретно по проге смотреть. А адреса выщитывай по смещению от адреса загрузки( в DeDe и Olly) ![]() |
|
Создано: 18 сентября 2007 22:41 · Личное сообщение · #13 Tolkin Спасибо за советы, но дело в том, что окно ввода пароля именно в длл-ке. В принципе все вопросы которые я задавал можно выразить в одном вопросе "Как брякнуться на функции в длл?", просто не смог правильно выразить мысль. Если приаттачить процесс в Olly и трейсить, то через несколько прыжков встает мертво на каком-то retn, помогает только перезапуск проги (прога сама виснет). Ребят, что почитать скажите хотя б? А вообще хотелось бы какой нибудь стандартный алгоритм действий в подобной ситуации. ![]() |
|
Создано: 18 сентября 2007 23:37 · Личное сообщение · #14 А ты не пробовал из-под ольки запустить и трейсить по F8 или Ctrl+F8, если аттач не прокатывает?, заскочишь в длл- окно найдешь, оля остановится (бряк не могу точно посоветовать), потрейсишь еще(геттекст должна быть- кстати, можно попробовать на нее бряк.)- а там по схеме джампы менять? Блин, сложновато без проги... ![]() |
|
Создано: 19 сентября 2007 00:05 · Поправил: WhiteP · Личное сообщение · #15 |
|
Создано: 19 сентября 2007 11:53 · Личное сообщение · #16 |
|
Создано: 19 сентября 2007 21:14 · Личное сообщение · #17 Pro100ya Спасибо огромное! А как она ломалась? В смысле можно ли поподробнее? Просто хотелось бы разобраться КАК ее ломать (как я уже писал ранее, я убрал это окно через редактор ресурсов нафиг!!! - и все работает). Как остановиться на GetWindowTextA в этой длл-ке (ну или что там)? Попробую сейчас сам как нибудь, но все же? p.s. Если что сильно не ругайтесь, мой опыт ограничен взломом фантомовских crackme + Дневники чайника (cool!!!). Сейчас читаю Юрова и пробую-пробую-пробую... ![]() |
|
Создано: 19 сентября 2007 21:32 · Поправил: Gerpes · Личное сообщение · #18 Посмотрел, че и как работает, не понял ладом, на че бряк ставить... Так пошел. У меня тоже из-под оли вылетала, но Shift+F7\F8\F9- она сама предлагает.. Потрейсил до создания диалога , -цикл, на выходе бряк- ввожу пароль- выход из цикла,бряк сработал- пошел по F8,(рядом должно быть...) Немного потрейсил- увидал помещение в регистр PIES21226- это 1 пароль, - вызов проверки по адресу- 00DDCAF5!!! (На моем компе) После- переход, меняем на безусловный- все. адрес- 00DDCAFA . Пробовал нопить вызов- тоже работает. Дальше еще один- SALIY(видимо фича от аффтара)- с вызовом этой же процедуры. Удачи! ![]() |
|
Создано: 19 сентября 2007 21:43 · Личное сообщение · #19 |
|
Создано: 19 сентября 2007 22:46 · Личное сообщение · #20 |
|
Создано: 19 сентября 2007 23:42 · Поправил: WhiteP · Личное сообщение · #21 Мдаа... Что-то я наверное не так делаю: 1.Открываю EXE-шник в Olly->Shift+F9 (2 раза) - вылазит окно программы, выбираю плагин. 2.Жму F12, оказываюсь в ntdll и начинаю трейсить (два раза по f8?), и оказываюсь в нужной длл-ке. 3. Трассирую по f8 дальше, оказываюсь в цикле, в котором потихоньку отрисовывается главное окошко... 4. Ставлю бряк на следующую команду после цикла, жму f9. 5. Окно отрисовывается, открываю окно администрирования, ввожу пароль, останавливаюсь на бряке. 6. Трассирую далее по f8, но даже введенного пароля не вижу ![]() Вопрос: Что я делаю не так? p.s. Gerpes Спасиб за патч, но вопрос именно в том как сломать. Я сделал уже свой патч, который удаляет ресурсы окна ввода пароля из длл-ки, и раздал всему универу (успеваемость повысится наверное). ![]() Но хочу именно понять как ломать это в отладчике. Просто если сейчас разобраться, то потом на подобных прогах будет меньше вопросов, по моему. Уже неделю, каждый день ковыряю эту прогу и так и сяк, даж другие пока пробовать не хочу... ![]() p.p.s. Gerpes А в какой программе сделан вышеуказанный патч? (в смысле оболочка)? ![]() |
|
Создано: 20 сентября 2007 00:40 · Личное сообщение · #22 Нехороший ты... ![]() трейси дальше(полтора экрана примерно). до ret- прыгнешь в конец листинга(думаешь, сразу, как кнопку нажал, пароль появится? там еще проц. куча) - сразу после рета- пошла проца проверки. Большего тут нечего сказать- все разжевано. попробуй статьи от Рикардо Нарвахи почитать(качай все 10 на wasm)- для знакомства с этим делом По поводу патчера- hххp://www.exelab.ru/f/action=vthread&forum=3&topic=7216 там создан- респект аффтару! ![]() |
|
Создано: 20 сентября 2007 00:54 · Личное сообщение · #23 |
|
Создано: 20 сентября 2007 01:19 · Личное сообщение · #24 |
![]() |
eXeL@B —› Вопросы новичков —› Взлом Dll плагина (программа тестирования) |