IDA反编译失败总结

call analysis failed

  1. call analysis failed

在这里插入图片描述
查看函数参数
在这里插入图片描述
压入两个参数,但实际分析时它却只有一个
在这里插入图片描述

对该函数按'y'键,将其参数修改为两个,去掉三个即可
在这里插入图片描述
然后成功

too big function

  1. too big function
    在这里插入图片描述
    修改配置文件IDA 7.0\cfg\hexrays.cfg

  2. MAX_FUNCSIZE = 64 // Functions over 64K are not decompiled修改为:

  3. MAX_FUNCSIZE = 1024 // Functions over 64K are not decompiled

positive sp value

在这里插入图片描述
(函数调用前后栈指针所指位置不变)

  1. 在option-general-disssembly-stackpoint
  2. ALT + K 直接修改栈值

cannot convert to microcode

  1. 无法转换成伪代码
  2. 成因,部分指令无法被反编译
  3. 有未设置成指令的数据字节按c将其设置成指令

其次是x86中的rep前缀,比如rep jmp等可以将该指令的第一个字节

local variable allocation failed

分析函数 时,有部分变量对应的区域发生重叠,多见于ARM平台出现point rect等8字节,16字节,32字节结构时尤其多见

解决方案:
1、修改对应参数为多个int
2、修改ida安装目录下的hexrays .cfg的HO_

stack frame is too big

成因:分析栈帧时有异常出现
解决方案:找到明显不合常理的stack 双击进入栈帧界面,按U键盘删除对应的stack
有可能加壳
可能由花指令导致,手动或自动检查并去掉花指令

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻梦&之璐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值