IDA无法反汇编汇总

文章目录

        call analysis failed
        too big function
        positive sp value
        cannot convert to microcode
        local variable allocation failed
        stack frame is too big

call analysis failed

 

 


    call analysis failed

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

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

 

 


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

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

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

positive sp value

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

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

cannot convert to microcode

    无法转换成伪代码
    成因,部分指令无法被反编译
    有未设置成指令的数据字节按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
有可能加壳
可能由花指令导致,手动或自动检查并去掉花指令

 

IDA7.7.220118 - The graph is too big
前言

 

 


在无源码调试程序,想用graph模式看看被调试函数的整体流程。
请添加图片描述

有报错框弹出。

 

 



找到了这个设置,改为999999

 

 

 

 



按确定后,回IDA主UI.

再次尝试用图形模式查看反汇编代码。
请添加图片描述

这回没提示了,可以用图形模式查看。

不过图形模式菜单条执行时,卡了几秒,估计这个函数是有点大。

作者在消息处理时,将所有消息处理都写到一个总的消息处理函数中了.
他这么写,自己不头疼啊?
END
https://blog.csdn.net/LostSpeed/article/details/124586377
参考:https://blog.csdn.net/CSNN2019/article/details/117219906

posted @ 2022-07-15 14:41  kubopiy  阅读(778)  评论(0编辑  收藏  举报