My_Reverse_Book
My_Reverse_Book
My_Reverse_Book
  • My_Reverse_Notes
    • 0. 这个笔记写了什么
    • 0. 感谢先行者
    • 0. 内容约定
    • 1. 开篇:为什么人类看不懂反汇编?
    • 2. 反编译通用架构与示例
    • 3. 递归下降反汇编-代码与数据混合场景的处理
    • 3.间接跳转与间接调用的处理
    • 3.栈偏移平衡与计算(使用IDA举例)
    • 3.汇总-反编译器中的反汇编
    • 4.反编译的中间语言设计
    • 4.调用约定识别-参数与返回值
    • 4.表达式传播与公共子表达式消除(CSE)
    • 4.死代码消除、复制传播、常量传播
    • 4.窥孔优化(以除法还原示例)
    • 5.类型推导
    • 6.控制流还原:通用方法
    • 6.控制流还原:新方法
    • 7.变量还原:变量的机器级表示
    • 7.变量还原:寄存器分配与还原
    • 8. 案例分析:说明
    • 8. 案例分析:JAXD-1
    • 8. 案例分析:Ghidra-0
    • 补充章节-论文阅读:using-sailr-on-angr-decompiler
Powered by GitBook
On this page
  • Jadx
  • Ghidra
  • IDA
  • Binary Ninja
  1. My_Reverse_Notes

8. 案例分析:说明

在案例分析的一系列章节,我们将探索市面上各种流行的反编译工具,分析他们的内部实现关键点。并且看看其中的有趣的部分,以及类似的功能在不同的产品中的异同点。

Jadx

字节码保存了很多原始的语义,相比于从机器码的还原,字节码还原会容易的多。

Ghidra

IDA

Binary Ninja

Previous7.变量还原:寄存器分配与还原Next8. 案例分析:JAXD-1

Last updated 4 days ago