首页
社区
课程
招聘
[求助]arm汇编难题之——不可调用的函数!!!!!!!!!!!
发表于: 2013-11-22 16:16 5328

[求助]arm汇编难题之——不可调用的函数!!!!!!!!!!!

2013-11-22 16:16
5328
最近看thumb的反汇编,遇到了一个奇怪的函数,以及由此导致的一个奇怪的问题:

一般来说,函数的第一条指令,要么是push,要么是stmdb,用来保护寄存器。然后现在遇到了如下函数:


注意,C71E是上一段指令结束后的填充指令,C720就是这个CALL的第一条指令,而不是C722!并不是通常的模式。我可以肯定这一点,因为我在注入的lib里调用C720成功。

但是这个调用并不稳定,连续对C720进行调用,进程会挂掉。

我怀疑,这个挂掉,和这个CALL的这种特殊模式是否有关系呢?毕竟我实验了一些类似的调用,这些函数都是以push或stmdb开头,也都没有出任何问题。

盼高手指点啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!

补充一点:进程挂掉,也许是这个函数本身的功能导致。但问题在于,我用同样的实验方法的处理了若干个安卓rom中的同一个函数(系统函数,所以在每个rom都存在),只有这个一个挂掉,而这一个刚好又不是push或stmdb开头。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
优化的结果
这个基于PC寻址,注入是替换掉C720处的指令了么?
如果替换了指令,PC相对位置发生变化了,r2取出来肯定有问题了
可以尝试注入C722
2013-11-25 22:32
0
游客
登录 | 注册 方可回帖
返回
//