- Moderatör
- #1
aka panic.rs
Kurucu
Lua:
OFFSETS = {}
HOOKS = {}
OFFSETS.ModuleBase = getAddress("D3D9.exe")
OFFSETS.CGame = OFFSETS.ModuleBase+0x1559
OFFSETS.CGameReturn = OFFSETS.CGame + 0x5
autoAssemble([[
alloc(cGame_return,4)
registersymbol(cGame_return)
alloc(cPush_string,200)
registersymbol(cPush_string)
]])
writeString(getAddress("cPush_string"), "Selam")
writeInteger(getAddress("cGame_return"), OFFSETS.CGameReturn)
autoAssemble([[
globalalloc(cGame_Hook, 64)
cGame_Hook:
push cPush_string
jmp [cGame_return]
]])
HOOKS.CGameHook = getAddress("cGame_Hook")
print(string.format("cGame_Hook=%x", HOOKS.CGameHook))
debug_removeBreakpoint(OFFSETS.CGame)
debug_setBreakpoint(OFFSETS.CGame)
function debugger_onBreakpoint()
if (EIP == OFFSETS.CGame) then
EIP = HOOKS.CGameHook
end
debug_continueFromBreakpoint(co_run)
return 1
end
işinize yararmı bilmem ama arşiv niyetine paylaşıyorum. bana birçok kez yararı dokunmuştu.
kısaca amacına değinmek gerekirse Herhangi bir opcode patchlemeden hook atmanıza yarar , integrity checkler için birebir ilaçtır.
kaynak :
Bağlantıları görmek için lütfen
Giriş Yap