PoEdu_反汇编001_初识

反汇编介绍:

      反汇编,就是将目标代码转化为汇编代码的过程,也可以认为是把机器语言转化为汇编语言代码,底层语言转高程语言的意思,反汇编常用语软件破解(例如找到其注册机制,进行许可证破解)、外挂技术、病毒分析、漏洞分析等

      学习反汇编,对软件调试、漏洞分析、操作系统内核学习及理解高级语言代码都有很大的帮助。反汇编是一门本身简单,然而实际使用又非常复杂的课程。

      学习反汇编,需要对C/C++语言有一定的了解,并且熟练使用VS工具。在学习反汇编之前,需要安装dbg工具,推荐使用下面这一款非常好用的反汇编工具:http:x64dbg.com。当然,也可以用自己习惯的软件。

反汇编初识:

      在VS下写一个HelloWorld程序,然后开始单补,如下:


      在编辑界面,右键->转到反汇编,就能看到执行过程的反汇编代码,如下图:


      在反汇编下,可以看到很多使用的寄存器,例如eax、ebx、edx、ecx等,寄存器实际上就是CPU里面的一个部件,在进行反汇编之前,一般会打开寄存器窗口和内存窗口,在:调试->窗口  中打开这两个窗口,如下:


      反汇编中,寄存器和内存是两个非常重要的窗口。

反汇编工具软件介绍:

      如上面所说,我是用的工具为:http:x64dbg.com。下载最新版本即可,软件本身是中文版,功能齐全。打开软件,最开始会让选择x32dbg或者x64dbg,HelloWorld程序为32位,因此,选择x32dbg。界面如下:


      文件,打开,选择我们刚生成的HelloWorld.exe,即可如上图所示,建议在打开前关闭360等杀毒软件,否则可能会提示各种警告,导致打开出问题。

      对于窗口,很显然,比VS的要详细很多,包括了反汇编窗口(辅助栏、地址栏、机器码栏、汇编代码栏、注释栏),详细信息栏、寄存器栏、局部变量栏、栈栏、内存窗口栏等,具体如图所示:


      对于具体的每一栏的功能,以及里面很多其他窗口,后面用到的时候会详细介绍。



猜你喜欢

转载自blog.csdn.net/qq_31622605/article/details/80946334