【发布时间】:2022-01-14 09:27:20
【问题描述】:
当我使用 IDA gui 反转二进制文件时,所有函数都可以毫无问题地反编译。
但是当我在没有 gui 的 ida 上运行自动脚本时,总是有相同的功能,拒绝被反编译。 (当我打开自动化脚本处理的同一个 IDB 时,函数会毫无问题地反编译)
我正在使用bip。并使用BipFunc.can_decompile 检查函数是否可以反编译。
编辑:
根据下面的答案,我尝试添加以下内容:
if not func.can_decompile:
print(f"can't decompile function 0x{func.ea:04x}, trying again")
decomp_all()
if not func.can_decompile:
print(f"can't decompile function 0x{func.ea:04x}, trying again")
decomp_all_twice_cacheclear()
if not func.can_decompile:
print(f"can't decompile function 0x{func.ea:04x}, skipping...")
return
很遗憾,它没有用,我每次都得到所有 3 个打印件,即使在不同的二进制文件上也是如此
【问题讨论】:
标签: reverse-engineering static-analysis decompiling ida