如何得到函数的地址 ( 积分: 50 )

  • 主题发起人 主题发起人 ZQFILE
  • 开始时间 开始时间
Z

ZQFILE

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道用GetModuleHandle和GetProcAddress得到某个函数的地址<br>现在我有一个OCX控件,里面有一个接口,接口下面有一个函数,我用上面的方法得不到<br>接口下面函数得地址
 
我知道用GetModuleHandle和GetProcAddress得到某个函数的地址<br>现在我有一个OCX控件,里面有一个接口,接口下面有一个函数,我用上面的方法得不到<br>接口下面函数得地址
 
大哥大姐吗,不知道的帮顶一下,谢谢
 
告诉你方法,能不能理解就不敢保证了:<br>调用那个借口,在其上设断点。<br>中断后在cpu视窗中记录调用时的便宜call [eax + ??]。<br>然后参考:<br>http://delphibbs.com/delphibbs/dispq.asp?lid=2135796<br>中的这部分<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pp:=@fd; &nbsp;//接口的地址<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a:=dword(pointer(dword(pp^)+8)^); &nbsp;//Now a is the pointer to the *REAL* IDirectDraw******不用管这里*******<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;asm &nbsp; &nbsp; //Call FliptoGDISurface<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov eax,a<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;push eax<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov eax,[eax]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;call [eax+$28] &nbsp;//*******调用com中的函数,[eax+$28]就是函数地址<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;
 
后退
顶部