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

反编译后的汇编程序有关问题

2012-02-14 
反编译后的汇编程序问题请问下面的代码是什么意思,详细点,因为我刚学汇编,对汇编不太熟悉.* Prossible Str

反编译后的汇编程序问题
请问下面的代码是什么意思,详细点,因为我刚学汇编,对汇编不太熟悉.

* Prossible StringData Ref from Code Obj ->"98441222"

move edx, 00488828
call 00404444
lea eax, dword ptr [ebp-24]

尤其是第三条,根本不懂。 call 00404444是调用子程序吗?子程序在哪里? edx, eax, dword ptr 是什么东西?

[解决办法]
晕!都是最基本的。你学的是8086汇编吧。

这是32位汇编程序。8086是16位的。
32位CPU把所有寄存器都该成了32位,64位CPU把寄存器该成了64位。CPU的地址也分16位、32位和64位,根据CPU的工作模式而定。
eax是ax的32位扩展,rax是ax的64位扩展,寄存器的低16位还用ax表示。
edx是dx的32位扩展,rdx是dx的64位扩展,寄存器的低16位还用dx表示。
还有bx,cx,si,di,bp,sp,前面加个e是32位,加个r是64位。
00488828、00404444都是32位立即数。
call后面跟的立即数肯定是子程序地址。
dword表示32位数,ptr表示指针。
[解决办法]
先学些基本的汇编知识,然后学些调试的原理。
[解决办法]
学逆向工程先得把基础打牢
建议参看http://bbs.pediy.com/showthread.php?t=31840,总结德非常精辟
[解决办法]
先把基础好好学一下 去看雪论坛看一下 资料很多 工具也很多

热点排行