加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

软件逆向之反汇编

发布时间:2021-03-24 14:40:15 所属栏目:动态 来源:互联网
导读:. 逆向工程 逆向工程(RE,Reverse Engineering)是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能性能规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件

. 逆向工程

逆向工程(RE,Reverse Engineering)是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能性能规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是,在不能轻易获得必要的生产信息下,直接从成品的分析,推导出产品的设计原理。

2. 基本概念

机器码(Machine Code):电脑CPU可直接解读的数据,也被称为原生码(Native Code),与运行平台有关。

汇编语言(Assembly Language):用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,方便程序员编写代码。汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。主流的有ARM汇编和x86汇编。

CPU寄存器:用来暂时存储指令、数据和地址,包括通用寄存器、专用寄存器和控制寄存器。逆向分析时需要注意特殊寄存器的变化。

WinAPI:Windows 操作系统中可用的内核应用程序编程接口,在 Windows 平台研究学习逆向工程需要了解一些WinAPI编程。

3. 反汇编

反汇编是把目标代码转化为汇编代码、将低级代码转化为高级代码的过程。

以最著名的HelloWorld为例,先在Visual Studio中新建一个HelloWorld项目如下所示。

ftIce:SoftIce是Compuware NuMega公司的产品,是Windows2000及之前的内核级调试工具,兼容性和稳定性极好,可在源代码级调试各种应用程序和设备驱动程序,也可使用TCP/IP连接进行远程调试。但目前微软的Windbg方便性、可靠性及可用性远远超出SoftICE,且免费使用。所以SoftIce并没有推后续版本。

WinDbg:WinDbg 是在 Windows 平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比Visual Studio更为强大。它的另外一个用途是可以用来分析Dump数据,程序运行如图5所示。

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读