如何删除伪代码中的所有 goto 语句?

逆向工程 艾达 六线谱
2021-06-20 15:38:51

IDA 在反编译的伪代码中显示了多个 goto 语句。我已阅读此手册页:https : //www.hex-rays.com/products/decompiler/manual/config.shtml并尝试文件中禁用/启用这些标志MAX_NCOMMAS, HO_FAST_STRUCTURAL, 但它不会改变伪代码中的任何内容。HO_UNMERGE_TAILScfg/hexrays.cfg

2个回答

您提到的功能是Max commas. .

  • 编辑 > 插件 > 十六进制反编译器 > 选项 > 最大逗号(默认为 8)。

减少值:Hexray 使用“goto”语句而不是单个“if”语句中的条件。
增加:Hexray 使用“if”语句而不是嵌套的“goto”语句。

但是,这是代表问题,并不意味着删除所有“goto”语句。

如果 Hex-Rays 有办法删除goto反编译中的所有语句,那么它根本不会首先生成goto语句。没有选择去做你所要求的。