反汇编引擎算法 两种 线性扫描,递归行进 线性 单纯转换为机器指令再根据字典来用汇编语言的形式输出 递归 通过解析函数,通过分支结构来递归分析 可以避免数据和指令混淆的效果 栈分析 通过对 sp 的分析来构建函数关系,关键点在于进出函数的时候 sp 的值是不会更改的,也就是 bp/sp 保存良好,但是一些坏人会插入一些无条件跳转和一些花代码,一是干扰线性的扫描造成花代码后面的程序识别错误,二是用对 bp sp 的非常规操作让程序无法正常分析 参考网站 [原创]IDA静态逆向分析模型原理透析-编程技术-看雪-安全社区|安全招聘|kanxue.com IDA系列教程:堆栈平衡原理与手动恢复平衡 | 云涯历险记 (yunyawu.com) IDA出现”sp-analysis failed”和F5(反编译)失败-CSDN博客 【精选】CTF逆向基础----花指令总结_ctf re 花指令_非著名不专业Re选手的博客-CSDN博客