我有一个没有源代码的DLL。我知道某个程序(同样,我只有一个二进制文件,没有源代码)运行此DLL来执行任务。我已经使用Dependency Walker(depends.exe)查看了这个DLL,以查看函数的名称。现在我想看看程序将哪些参数发送到某个功能。有可能吗?
答案 0 :(得分:0)
我假设您正在谈论本机DLL?如果是这样,那么答案可能是。
如果DLL是使用C ++名称修改编译的,那么它的可能性取决于将原始原型恢复。如果函数名称看起来像?_Foo @ ADBDE而不是Foo,那么它们就会被装饰。在依赖walker中使用" Undecorate C ++ Functions"命令。
否则,您需要获取函数的模块地址并使用反汇编程序来确定使用的参数和使用的参数。这可能是一项非常令人沮丧和耗时的任务。