..................................................
第一:仅仅是需要看C语言的每一句执行与汇编语言的对照,可如下来做:
举例:最简单的C程序:
void main()
{
int a = 1,b = 2,c
c = a+b
}
在VC中输入程序:
点击菜单[编译]->[开始调试]->[Step Into] 或直接按[F11]进入单步调试,
然后橡枣帆再点击[调试工具栏上的 Disassembly]即显示汇编语言对照.就可以
看到以上最简单的C程序的对应的汇编语言.看到的情况如下:
3: int a = 1,b = 2,c
00401028 C7 45 FC 01 00 00 00 mov dword ptr [ebp-4],1
0040102F C7 45 F8 02 00 00 00 mov dword ptr [ebp-8],2
4: c = a+b
00401036 8B 45 FC mov eax,dword ptr [ebp-4]
00401039 03 45 F8 add eax,dword ptr [ebp-8]
0040103C 89 45 F4 mov dword ptr [ebp-0Ch],eax
...................................................
第二:
用IDA 3.74反汇编DOS下的可执行文件和WIN32的NE,PE格式的文件。
在反岩凯汇编C语言变的文件时,可梁雹以自动辨认出 C语言的库文件。
可找到_main()函数一下子就找到了,能识别VC5.0编写的程序,
识别MMX指令。
下载具体地址为:202.115.9.33\incoming\program\ida
大约为10兆,安装完后,将patch.exe拷到安装目录下,执行一遍
即可去掉64k内存的限制
在 options for target 里打开 listing选项卡,勾选下边第一行最后一个Assembly code选项,
编译之后生袭岩谈成的.LST文件里就有对应的汇编代码,直接复制出来。
或者你在debug时的汇编拍碰窗口直接复制枣猛
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)