首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何用dumpbin查看dll中函数的原型

2013-08-14 
怎么用dumpbin查看dll中函数的原型?怎么用dumpbin查看dll中函数的原型?我想调用itunesmobiledevice.dll中

怎么用dumpbin查看dll中函数的原型?
怎么用dumpbin查看dll中函数的原型?

我想调用itunesmobiledevice.dll中的备份函数,知道有个函数名是AMSArchiveBackup,想调用这个函数,但是不知道这个函数的原型,网上说需要看汇编。我就用dumpbin.exe itunesmobiledevice.dll /disasm /out:test.txt。现在这个test.txt里面是有汇编代码了,但是是非常长的一大段连在一起,根本分不清从哪里到哪里是哪个函数的汇编代码,这种情况该怎么办?
[解决办法]
这个要结合DLL中函数被调用的上下文环境来猜了。
输入参数个数是可以分析出来,但每个参数的含义就要结合DLL中的函数内如果使用来分析了。
[解决办法]
就是说,通过汇编代码可以看出来函数传递进去了几个参数,但每个参数的含义是不明确的,比喻传递了一个整形数:0x00001077,这可能是一个整数值,也可能是一个文件句柄,也可能是一个系统资源的标识,实际是什么内容需要结合DLL中的函数如果来使用这个值来分析,如果这个值又被当做参数传递到了DLL中的函数,比喻一些系统调用,那么可以确定这个值是什么内容,比喻传给了read函数,那就大概可以知道这个是什么了。总之要结合DLL中的代码来分析。
可以在网上找一个工具:IDA来帮助分析DLL中的函数代码,当然DLL要没有被加密,IDA识别的还是挺强的。
[解决办法]
慢慢学着使用IDA,可以先试着自己写简单的例子程序,看看自己写的程序函数调用编译后,在IDA中的什么样的,再慢慢结合着进行分析,熟能成巧的一个过程。
[解决办法]
可以在IDA中按一下F5,把汇编代码转成C代码,会提高可读性,看起来容易点。
[解决办法]
X86下的都一样,写法不同。除非CPU的架构不同,否则汇编指令一样的,都只那么些条指令。
[解决办法]

引用:
汇编代码中的esp,ebp,ebx,edi,ptr都是什么啊?

各种寄存器

热点排行