首页
社区
课程
招聘
[旧帖] [求助]android api hook 0.00雪花
发表于: 2013-5-15 10:22 1885

[旧帖] [求助]android api hook 0.00雪花

2013-5-15 10:22
1885
printf("%x\n", sleep);
40183301
change(sleep);
printf("%x\n", sleep);
8bf8
sleep(1);//正常调用原来的sleep
被我改了GOT表的入口地址,咋调用sleep还是原来的方法

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我又来了,经过gdb远程调试,原因找到了:
是我查找到的sleep的got表项地址跟最终sleep执行获取的got表项地址不一致,至于为啥不一致,因该是我查找got表项的逻辑问题了,最终解决后我会发出来
2013-5-16 20:17
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
找到原因了:
因为我代码里出现printf("%x\n", sleep)
编译过程中把sleep解析成全局变量了(这点我没有完全确认,不过根据got表包含全局变量及外部函数的地址这点,应该错不了),而其值是sleep函数的入口地址,于是got表中出现了两项sleep入口地址配置的表项,而我的查询got逻辑是找到第一个匹配项就return了,所以找到的可能是全局变量,修改地址后,printf("%x\n", sleep)的输出是变了,但sleep的真正入口got表项仍是原来的,所以出现了我遇到的问题。
2013-5-17 09:43
0
游客
登录 | 注册 方可回帖
返回
//