Перейти к содержанию

[Lineage 2 interlude] OllyDbg/CE как обойти GPF(general protection fault) ?


Рекомендуемые сообщения

Всем привет,хочу написать радар для L2 interlude защита на сервере SmartGuard но как я понял GPF(general protection fault) к смарту отношения не имеет ,использую OllyDbg 1.10 палгины (StongOd,Phantom) ,проблема следующая при попытке поставить MBR (memory breakpoint) сразу вылетает GPF и приложение падает,подскажите как справиться с этой бедой? под ring0 зайти не смогу.

рассуждения: вероятно GPF палит (EXCEPTION_DEBUG_EVENT & EXCEPTION_GUARD_PAGE) и при смени прав сразу вышибает клиент,как найти обработку этих событий пока не придумал... 

 

ошибка выглядит так:

14992917.jpg

 

если через СE попробовать поставить MBR то сразу вылетает без GPF

 

15000087.jpg

Изменено пользователем Antifreez
Ссылка на комментарий
Поделиться на другие сайты

Народ ну что,подсказать не кто не чего не может? игра стара как мир.. не может быть что, на форуме нет людей которые удачно разобрали клиент L2,готовых решений не прошу (хотя это было бы супер),просто мне нужен вектор в какую сторону копать а то чёт совсем за стопарился..

 

https://en.wikipedia.org/wiki/General_protection_fault - статья что такое GPF (вдруг кому интересно будет)

Ссылка на комментарий
Поделиться на другие сайты

В линейке по моему везде такая тема. Я просто менял в CE отладчик на VEH debugger и все норм. Его в принципе хватает, в связке с IDA Pro.

Откуда у людей мания запускать процесс под отладкой - не понимаю) Что ты будешь через отладчик в игре делать? Патчить тебе ее точно не надо, так что еще?

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, uhx сказал:

не понимаю

Я последнее время использую для трассировки с дампом всех регистров и записью шагов(новая техника :D), чтобы потом в ida можно было это все наложить.

 

ps 

 

veh отладчик для x64dbg я выкладывал в блоге xdbg называется.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, partoftheworlD сказал:

последнее время использую для трассировки с дампом всех регистров и записью шагов

Ну x64dbg еще ладно, но зачем через ольку запускать игру?

И как ты будешь выходить на нужные значения и функции, если они без отладочной информации? В линейке еще мб и можно обойтись статическим анализом, там очень много что подписано (Unreal Engine), но вот в других играх...

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, uhx сказал:

если они без отладочной информации?

В x64dbg есть плагин который позволяет искать значения в памяти прям как CE

Ссылка на комментарий
Поделиться на другие сайты

В линейке по моему везде такая тема. Я просто менял в CE отладчик на VEH debugger и все норм. Его в принципе хватает, в связке с IDA Pro.

Откуда у людей мания запускать процесс под отладкой - не понимаю) Что ты будешь через отладчик в игре делать? Патчить тебе ее точно не надо, так что еще?

СЕ на данный момент не вариант так как при попытке поставить MBP процесс игры сразу вылетает,скрин с ошибкой в первом посте,CE пробовал в разных режимах и даже в DBVM (kernalmode) результат тот же самый. отладчик мне нужен ,для обнаружения функций которая дёргает не посредственно сам клиент (хочу ради спортивного интереса написать радар который использует исключительно методы игры (через пакеты и поиск оффсетов не интересно) , я понимаю что можно взять какой нибудь дрявый сервер и издеваться над ним но тогда весь интерес пропадёт.. а тут сервак ещё и с защитой SmartGuard ,а это прибавляет ещё желание попробовать разобраться как он работает,пол года назад специально для АА писал радар и мучился с обходом GameGuard хоть и коряво но всё получилось,правда было потрачено очень много времени,ввиду того что скилл С++ и Asm не велик а на C# подобное реализовать очень и очень геморно

Изменено пользователем Antifreez
Ссылка на комментарий
Поделиться на другие сайты

Только что, partoftheworlD сказал:

В x64dbg есть плагин который позволяет искать значения в памяти прям как CE

Да, я помню, ты уже говорил об этом) Осталось прикрутить hex-rays, помнишь?))

Поэтому

7 минут назад, uhx сказал:

Ну x64dbg еще ладно,

 

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Antifreez сказал:

для обнаружения функций которая дёргает

Даа, но для этого ведь надо сначала выйти хотя бы на примерные функции, которые с этим работают?

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

Ссылка на комментарий
Поделиться на другие сайты

Ну как пишут на зарубежных форумах, все игровые функции в L2 лежать в Engine.dll вот от неё и буду плясать. + 

Цитата

Например, от структуры игрока и функций, которые с ней работают.

и от списка с GameObjects

Ссылка на комментарий
Поделиться на другие сайты

Попробовал с помощью 

1 час назад, LIRW сказал:

Чпок!  И плагин Чпок!

результат тот же что и в OllyDbg 

15029252m.jpg

 

ладно пойду пока на обед по думаю,вдруг что в голову взбредёт:mellow:

Изменено пользователем Antifreez
Ссылка на комментарий
Поделиться на другие сайты

Вообщем,походу все мои проблемы из за SmartGuarda так как попробовал его выгрузить и сразу же в СЕ поставить MBP всё сработало,теперь буду разбираться как SG покалечить чтобы при этом игру не вышибало..

и может кто подскажет когда в CE при поиске "find out what writes to this address" сразу вылетает такая инструкция

15054913.jpg

первый раз с таким сталкиваюсь,и не понятно что искать дальше? (или в таком случае надо искать где EAX заполнился?)  

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Antifreez сказал:

или в таком случае надо искать где EAX заполнился?) 

call edx возвращает результат вызова в еах

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, X86Jumps сказал:

мне ни windbg ни x32dbg ни ollydbg не дают даже к процессу подключиться

Если настроить правильно, то подключится.

Ссылка на комментарий
Поделиться на другие сайты

19 минут назад, partoftheworlD сказал:

Если настроить правильно, то подключится.

не знаю, но мне привычнее в CE, он мне дебаггер Borland Delphi 6 напоминает, в котором я первый раз видел asm

поэтому и нет особого желания разбираться в причинах, но в windbg я не нашел почти настроек

в ollydbg их тоже немного, а x32dbg мне почему то кажется на sdk ollydbg сделан, хотя вроде cpp

Изменено пользователем X86Jumps
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.