| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Снятие хука Game guard |
| Автор: megel 12.6.2010, 21:00 | ||
| как снимать хук, я вроде разобрался. но в некоторые функции начинаются к assembler кода который зависит от расположения кода, например ( jmp DWORD PTR получается замкнутый круг, чтобы заменить хукнутую функцию которая начинается с 5 байт хукнутого кода нужно либо создать новую функцию с кодом
но тогда нужно переделать 5 байт если этот код зависит от расположения или можно прямо записать эти 5 байт в оригинальную функцию, но все нужные для записи функции(WriteProcessMemory, VirtualProtect...) хукнуты Game guard. как можно переместить код в другое место с учетом расположения, ntdll для просмотра я не открываются? или можно ли как-то записать код в функцию, из текущего процесса не используя VirtualProtect. и хотел спросить чем отличается ring3 от ring0 |
| Автор: Abyx 13.6.2010, 01:16 |
| бред какой-то %) для своего процесса WriteProcessMemory не надо. GG использует драйвер, чтобы его обойти надо драйвер. Или надо не дать ему запуститься %) тем что чтобы работать в ring0 надо драйвер. |
| Автор: megel 13.6.2010, 10:28 |
| у мня почему-то в свой процесс не пишется не через не просто так(ну это нормально) не после VirtualProtect, только работает WriteProcessMemorу(GetCurrentProcess(), ....) (может быть из-за Win7?). вообщем я так понял, просто заменить 5 байт в ring0 не получится. |
| Автор: xvr 13.6.2010, 11:01 |
| Получится (после открытия страницы по записи). Но что бы попасть в ring0 нужен драйвер |
| Автор: 12usver12 13.6.2010, 22:57 |
| попробуй хукнуть код хэндлера gg в процессе, так чтоб он выполнял "украденные" инструкции и прыгал сразу за джампом хукнутой api функи, оригинальные байты можно узнать маппингом модуля |
| Автор: Dem_max 14.6.2010, 05:37 |
| пиши тупой nop |
| Автор: megel 16.6.2010, 16:51 | ||
я это не совсем понял. |