android ida pro,[原创]一步步搭建ida pro动态调试SO环境。

[原创]一步步搭建ida pro动态调试SO环境。

2015-8-5 23:01

31271

[原创]一步步搭建ida pro动态调试SO环境。

2015-8-5 23:01

31271

在一堆堆大牛的浪潮中,android安全越来越火,跳入这个“坑”的人也一堆堆,门槛越来越低。小白我也来分享一下ida调试so的经历。

背景:无任何android开发经验,2天时间搭建调试环境并调试成功。

目的:调试某android平板中的某个app的so文件,并逆向出关键算法。

工具:ida pro6.5 +adb+刷机精灵

第一步准备工具:android平板,数据线,弄过来platform-tools,里面包含用到的adb工具,ida6.5pro, ida6.7pro.

第二步从平板中取出app的so文件:由于调试时它用到许多系统lib,我直接把/system和/data全部pull到本地上,很多文件,后面会用到。

第三步:push ida6.7中的android_server文件到 平板的/data/local/tmp目录中,然后改执行权限,始终不成功,说权限不允许之类的,折腾了很久,上网查了才知道,先要root,网上下载了360root工具,不成功,又下载刷机精灵,成功了。然后可以改权限了。

第四步:执行android_server,老是说segment fault,用root权限也不行,怀疑android_server有问题,是不是ida是6.7的问题,然后换ida6.5的android_server推到平板中去,尽然成功了,原来版本太高的原因吗?

第四步:把要调试的so库拖到ida6.5中分析,这里要android_server要与ida版本配套一起才行,不能混搭,比如ida6.5的android_server只能与ida6.5一起用才行,不能与ida6.7一起用,否则会有错误,说是服务版本不匹配之类的。

第五步:另开一个cmd, 输入adb forward tcp:23946 tcp:23946

第五步:设置调试选项路径,这里一定要是平板中的真实路径,不过一开始路径不对,可以随便设,附加后,ida会提示错误提示,按提示的路径回过头去改正,另外一些系统库,如libc.so,linker说找不到,那之前pull出来的/system/lib下面文件就有用了,把路径map到这个目录下就行了。

第六步:设置好调试选项后,F9选择arm android的那个调试器就行了,再选附加进程,发现只有一个进程。为什么呢,为什么呢,上网查了下,原来运行android_server时一定要先su一下,即在root权限下运行才能看到平板中的进程。

第七步:root下运行android_server后,把上面的步骤再来一次,ida6.5附加时可以看到一堆进程,找到要调试的so所在的进程后,附加就断在libc.so的一个地方,后面的就是真正调试的就不用说了。

万事开头难,花了2天时间才成功弄好,其实调试本身没什么难,难的是前面一系列疑问,当你一个一个问题思考过,动手弄过,查资料等把问题解决了,才是真正的经验,会学到很多东西,比调试本身更有乐趣,希望能给跟我一样的小白提供一些思路吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值