阅读:1553回复:6
如只有发布版的*.dll文件,我如何能准确的停在它的某个输出函数处? |
|
沙发#
发布于:2002-03-12 11:28
现在自己写的程序中GetProcessAddress读出地址,然后就可以BPX了
|
|
|
板凳#
发布于:2002-03-12 11:33
你可用SOFTICE载入DLL,再用EXP 哪个DLL! dll名后一定跟!号。
如:EXP XXXXX! DLL函数名后一定跟!号。 如还不会就用别的IDA PRO等查看器都可,找到输出名后。 你可用SOFTICE载入DLL 再BPX XXXX好了。 如:BPX XXXXX DLL函数 |
|
|
地板#
发布于:2002-03-12 13:44
to Killhs:我有个事一直没搞懂:为什么
我exp gdi! export函数就被显示出来。 而我exp 非系统dll就都没反应。 另外为什么我现在只能设置0-1F个断点,咋回事? To flyfox:好像设备驱动的(*.drv)不能用这个办法 HMODULE hModule=LoadLibrary(\"ssgl1.drv\"); int iError=GetLastError(); FARPROC hAddress=GetProcAddres(hModule,\"Output\"); cout<<\"%d\"<<hAddress<<\"H\"; return 0; iError为1F:A device attached to the system is not functioning. |
|
地下室#
发布于:2002-03-12 13:59
哦,对不起,我以为是一般的DLL。那你可以试下VC的工具Depends。
至于exp 非系统dll就都没反应,我认为是如果在WIN98下,SOFTICE的目录下winice.dat的文件可能没有设置,你可以看下那个文件。 也就是说可能是SYMBOL没有被LOADER。 |
|
|
5楼#
发布于:2002-03-13 09:45
flyfox说的对你SYMBOL没有被LOADER是不能显示的。
你可用SYMBOL载入! 如还不行你可手工加在ICE95中的winice.dat默认下是没有载入。 另外你说的只能设置0-1F个断点,softice文档中说断点无限制呀! 俺学的不深不知道对不起了,能力有限。 :D |
|
|
6楼#
发布于:2002-03-14 20:44
谢了!!
好高兴!!! :D :D :D :D :D :D |
|
|