逆向工程基本原理04

逆向工程基本原理04

exdoubled Lv4

反汇编

反汇编的目标是从二进制文件中识别并恢复程序代码

帮助分析人员得到相对易读的代码

经典反汇编算法

线性扫描算法

是一种按字节顺序进行指令解析的方法

从代码段的第一个字节开始,解码一条指令,然后紧接着从下一个字节继续解码,如此线性推进直到结束

优点:算法简单,速度快

缺点:无法正确处理跳转指令和数据嵌入的情况,可能导致误解码和遗漏指令

objdump 使用线性扫描算法进行反汇编

一旦遇到数据段嵌入代码段的情况(如跳转表),就会把数据误当成指令解码,导致后续整体偏移,出现”指令污染”的连锁错误

递归遍历算法

启发式算法

可重汇编的反汇编

同分类文章

Comments