首页
社区
课程
招聘
[求助]请教下IDA在函数开头的标注是什么意思
发表于: 2013-12-16 22:03 7179

[求助]请教下IDA在函数开头的标注是什么意思

2013-12-16 22:03
7179
图1和图2是类似的函数,但是图2标注了很多变量var_A8,var_A4...,这是什么意思呢?不会是参数吧,应该不可能有这么多参数的。

我实验了很多类似的函数,凡是图1这种(没有标注变量的)就可以调用成功,而图2的这种则全部挂掉。请指点指点!




[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 103
活跃值: (126)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
子函数申请的空间 局部变量会在里面
2013-12-16 22:41
0
雪    币: 257
活跃值: (44)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
啊,我也想到了,但是这个申请与释放是在子函数内部进行的吧?为什么我调用这种需要申请空间的函数就会挂掉,调用不需要申请空间的函数就没问题?
2013-12-16 22:48
0
雪    币: 110
活跃值: (562)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
需要申请的函数?啥意思?
2013-12-17 09:03
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
因为你调用的时候没有申请空间。。 这种是变量。 也就是先push push push 再call 。。。 你没有压栈。
2013-12-17 09:11
0
雪    币: 1121
活跃值: (752)
能力值: ( LV5,RANK:66 )
在线值:
发帖
回帖
粉丝
6
别误人子弟啊,这个是ARM指令,第一个语句和第二个语句是干啥的,明显申请了空间。
2013-12-17 09:16
0
雪    币: 1121
活跃值: (752)
能力值: ( LV5,RANK:66 )
在线值:
发帖
回帖
粉丝
7
push push push 再call 的,push进去的是参数,也不是变量。
2013-12-17 09:23
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
对你的子函数来说是参数。 对执行push 的原函数来说就是 变量了。  所以需要调用 者去申请。

不信你自己去写个代码IDA看看。ARM又如何。在调用上又没区别。
2013-12-17 09:35
0
雪    币: 1121
活跃值: (752)
能力值: ( LV5,RANK:66 )
在线值:
发帖
回帖
粉丝
9
我push寄存器值又怎么算变量?而且,这个函数明显没有参数,call之前何来push?
2013-12-17 10:15
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
你如何看出来没有参数的?   子函数最开始的一行push 那是保存栈现场。 类似于x86 的栈桢。
2013-12-17 10:23
0
雪    币: 238
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sbd
11
是编译器为局部变量分配的空间
2013-12-17 10:26
0
雪    币: 1121
活跃值: (752)
能力值: ( LV5,RANK:66 )
在线值:
发帖
回帖
粉丝
12
IDA告诉我只有一堆变量,没有参数。有变量就会申请栈空间,申请栈空间就需要保存栈基址,你还是再多用用IDA吧。
2013-12-17 10:34
0
雪    币: 2307
活跃值: (1023)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
13
第一行的PUSH指令只是想说,这几个寄存器我要当临时使用到它们,需要在使用前保存原先的值。
Android上ARM的调用是前4个参数使用R0-R3寄存器,超过4个参数才用栈来传递。
最简单判断有无参数的方法就是看有没有使用R0及以上的寄存器值的引用的指令,如下面的指令:
PUSH XXX
SUB SP, SP, XXX
...
MOVS R4,R0
MOVS R5,R1
BL SUB_XXX
MOVS R0,R4
MOVS R1,R5
...
对于这样的函数,说明至少有2个参数!
就是说,IDA分析出的栈变量列表中如果没有arg_xxx,表示可能有使用参数,也可能没有,但如果有arg_xxx,说明此函数使用的参数至少有4个以上!
2013-12-17 12:31
0
游客
登录 | 注册 方可回帖
返回
//