如何查看exe文件运行时调用了哪些dll文件? ( 积分: 120 )

V

viery

Unregistered / Unconfirmed
GUEST, unregistred user!
现在做二次开发,调用原来系统的dll,dll中公布出来的那些方法不知道该如何调用。
如何看原先系统的exe文件是如何调用其它dll文件的,调用了它的哪些方法?
有什么方法或者工具可以搞定吗?

谢谢!
 
现在做二次开发,调用原来系统的dll,dll中公布出来的那些方法不知道该如何调用。
如何看原先系统的exe文件是如何调用其它dll文件的,调用了它的哪些方法?
有什么方法或者工具可以搞定吗?

谢谢!
 
我原来用BoundsChecker检查运行好的程序时
可以发现这个程序所调用的dll
 
关注,学习。
 
eXeScope
可以看到执行程序所调用的DLL
 
试试价格系统钩子,拦截一下LoadLibrary函数。
 
使用eXeScop
查看导入部分
也可以用eXeScop查看你要调用的dll文件,可以看到输出函数的声明原型
 
BoundsChecker可能可以,我还没有试过;但是exeScope不行,用它打开vb编译的文件时,只能看到MSVBVM60.dll^_^

我现在用SmartCheck查看这个exe文件,可以看到它运行时调用了哪些dll。
不过有接下下来的第二个问题。
 
有几个工具特别好用
1)APISPY V2.5
2)自动调试监视器 V3.3
 
知道exe运行时调用了哪些dll之后,找到这个dll。
用某些工具查看(Dependency Walker
或者delphi下的Tdump),看到dll公布出来的一些方法。

但是这些方法只有函数名,参数也不清楚,如何调用这些函数呢?
 
同意viery的意见
 
参数不可能获得.否则DLL哪有安全可言.任何发布文件人家想调就调啊?
只有一种方式,就是反汇编原来地调用处代码.可以分析出参数形式,但是参数名不可能知道.
 
1)APISPY V2.5
2)自动调试监视器 V3.3
可以满足你的要求
 
函数名很容易可以查到,至于函数的参数则需要通过反汇编来得到(一些结构复杂的参数很麻烦),那要看你的汇编功底啦!对一般人来说比较困难的。[:)]需要花不少时间和精力。
 
用DELLSHOW
这个软件
好的不得了.
分数给我
 
qn-wl,
你建议的这个工具DLLSHOW很不错,可以看到exe调用的所有dll.
但是,如何看到exe调用了dll的哪些方法呢?

有没有什么更好的工具?
 
to viery:反汇编就可以看到,如使用简单的W32Dasm,IDA等
 
IDA4.7就可以了.
 
Exescope可以满足你的要求
 
顶部 底部