软件逆向工程概述

2.4软件逆向工程概述
软件逆向工程(Reverse Engineering,叉称反向工程)是指软件开发过程的逆向
过程,即从可运行的程序系统出发.对目标文件进行反汇编,得到其汇编代码,然后
对汇编代码进行理解和分析,从而得出对应的源程序、系统结构以及相关设计原理和
算法思想等。

一般将软件逆向工程分为系统级逆向和代码级逆向两个阶段:第一阶段
分析目标系统,标识目标系统的组件以及它们之问相互关系,第二阶段创建不同形式
或更高抽象层次的系统表示。
系统级逆向包括在程序上运行各种不同的工具和操作系统服务获取信息,检查程
序可执行文件,并跟踪程序的输入输…等等。这些信息大多数来自操作系统,因为根
据定义,一个程序与外部世界的任何交互行为都必须通过操作系统14】。
代码级逆向是从程序的■进制码lI,提取设计理念和算法的复杂过程,它要求软件
分析师不但要掌握逆向技术,而且还要对软件开发、CPU以及操作系统有相当深入
的认识。软件的复杂度深不可测,即使有编写良好、文档齐伞的源代码,人们也会难
以理解软件的内部。而代码级逆向是对低级指令的分析,更是难上加难'4]。

Powered by Zoundry

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值