首页
社区
课程
招聘
[求助]IDA如何追踪exterm函数/动静态结果不一致
发表于: 2016-9-8 15:12 4368

[求助]IDA如何追踪exterm函数/动静态结果不一致

2016-9-8 15:12
4368
大家好,最近在学习安卓的反向知识,求教一个问题。
在做一个JNI的CrackMe的时候,静态结果如下图:代码分成了两部分,左边无法接到右边,而动态的话是可以连接上的。


静态下无法连接上的部分是一个对j_malloc的call后直接return:BL loc_XXXX (后面没有箭头了,也不能decompile,直接JUMPOUT到malloc)

但是实际上在动态下,IDA的Graph View与decompiler都可以正常工作,上图的return前还有一大堆代码要跑(第一张图的右边部分)。

我猜想是IDA无法正确的解析malloc?因为是extern?(不知道extern能说明什么,IDA应该知道malloc返回什么吧)
extern:0000401C ; void *malloc(size_t size)
extern:0000401C                 IMPORT __imp_malloc     ; CODE XREF: malloc+8j
extern:0000401C                                         ; DATA XREF: .got:malloc_ptro

我用的是IDA 6.8, 应该是自带JNI的header的。所以到这里就不知道如何正确的静态反向了。
谢谢解惑!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 3712
活跃值: (1446)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
IDA无法识别的问题,最好是动态分析理清逻辑,再结合静态看
2016-9-9 11:01
0
雪    币: 206
活跃值: (840)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
BX pc?
2016-9-9 13:00
0
雪    币: 51
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
对,是一个bx pc,后面就是malloc
2016-9-10 02:35
0
雪    币: 206
活跃值: (840)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
arm 三级流水
2016-9-12 14:30
0
游客
登录 | 注册 方可回帖
返回
//