精
精灵猪
Unregistered / Unconfirmed
GUEST, unregistred user!
function TrueFunctionAddress(func: Pointer): Pointer;<br>var<br> Code: PlmportCode;<br>begin<br> Result := func;<br> if func = nil then exit;<br> try<br> Code := func;<br> if (Code.jumplnstruction = $25FF) then<br> begin<br> Result := Code.AddressOfPointer_ToFunction^;<br> end;<br> except<br> Result := nil;<br> end;<br>end;<br><br><br>procedure doit;<br>begin<br>messagebox(0,'执行动作','',mb_ok);<br>end;<br><br>用TrueFunctionAddress(@doit);可以得到doit的地址比如我要修改 $00404200 这个地方改为指向doit的jmp应该如何做 有点类似API钩子的那种方法 可是钩的不是API是段代码而已<br>================================================<br>我的目的是 让程序执行到00404200这个位置的时候跳到我指定的函数上执行完再跳回去 不知道这种办法成不成 研究了好长时间没解决 求高手指点一下 或者有更好的方法给小弟介绍一下 小弟感激不禁