![]() |
eXeL@B —› Вопросы новичков —› Проблема с пуском программы в дебугере |
Посл.ответ | Сообщение |
|
Создано: 12 июля 2007 00:21 · Личное сообщение · #1 Программа Profili V2.18 (http://www.profili2.com) написанна она на Visual C++ 6.0, что видно и по интерфейсу и по тому что пишет ПЕиД. Но вот проблемма, в Олле она не запускаеться, постоянно вываливаюсь в ExitProcess. Причем все попытки обойти функции где это вызываеться или все конкретные вызовы ЕкситПроцесса, приводят к странному ступору, на секции 00561E5A |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] 00561E5D |. 8B08 MOV ECX,DWORD PTR DS:[EAX] <-------- здесь стоп 00561E5F |. 8B09 MOV ECX,DWORD PTR DS:[ECX] 00561E61 |. 894D 98 MOV DWORD PTR SS:[EBP-68],ECX а олли пишет Access violatation when reading [F4983D08] - use Shift +F7/F8/F9 to pass exception to program, ну естественно не на какие эцепшены мы не вываливаемся с этого места, и никаких экцепшеннов тут тоже не происходит... Другие попытки обхода проблемы приводили к полетам по экцепшенам по кругу, или попадания в места которые олли обзывает неизвестной командой FFFFFFFF. Предполагаю что в программе есть какая то защита от отлаживания, не могу пока понять какая, может товарищи с большим опытом посоветуют что-то умное? А может типа что-то в интерфейси олли надо нажать? ![]() ![]() |
|
Создано: 12 июля 2007 01:57 · Поправил: El_Diablo · Личное сообщение · #2 Поставь Плагин Hide Debugger Я скачал версию 2.20 нормал запускается Если хочешь без плагинов,то при старте вбей в командную строку bp IsDebuggerPresent Прога остановится на ней пошагово выполняешь до этой инструкции MOVZX EAX,BYTE PTR DS:[EAX+2] остновившись на ней смотришь,что у тебя тут -> DS:[7FFDF002]=00 если 01,то дебагер запалился,в этом случае просто заменяешь 01 на 00 и все вроде. В Плагине Hide Debugger поставь галочку на TerminateProcess и будет тебе счастье. ![]() |
|
Создано: 12 июля 2007 02:00 · Личное сообщение · #3 |
|
Создано: 12 июля 2007 02:13 · Личное сообщение · #4 |
|
Создано: 12 июля 2007 02:23 · Личное сообщение · #5 005DAB16 |. E8 32000000 CALL Profili.005DAB4D 005DAB1B |. 59 POP ECX 005DAB1C |. 59 POP ECX 005DAB1D |. 85DB TEST EBX,EBX 005DAB1F |. 5B POP EBX 005DAB20 |. 74 07 JE SHORT Profili.005DAB29 Вот кусок кода,который убивал твои попытки отладить софт... а правдо как в коде найти что дебугер палят? я пошагово выплнял прогу,благо не долго пришлось это делать ![]() Можешь поставить бряк на ExitProcess и дальше уже плясать в обратную сторону,то есть находить откуда вызывается и прочее (= ![]() |
|
Создано: 12 июля 2007 04:01 · Личное сообщение · #6 |
![]() |
eXeL@B —› Вопросы новичков —› Проблема с пуском программы в дебугере |