首页
社区
课程
招聘
[原创]Android未root环境下使用IDA调试
发表于: 2019-12-20 20:18 10228

[原创]Android未root环境下使用IDA调试

2019-12-20 20:18
10228

        众所周知,IDA在我们调试Android程序的时候是一个很棒的利器,在做调试前我们需要的就是一部root过的移动设备,当然这是很理想的情况,但是现实总是事与愿违的,对于我们大部分人来说可能会碰到各种各样的问题(技术大牛除外),比如说我是开发人员,我不会root、或者是手机不支持root,没有官方和第三方的root包、还有就是刷root的本身就是一件有风险的事情,如果点背的话刷成板砖了等等;即使最后root成功了,可能你在上面花费的时间远远大于你调试软件的时间。针对root手机的不方便性、我来介绍一种不需要root手机直接调试的方法。

       1、 配置好JDK, SDK环境变量,并且在开发者模式下开启调试状态

        2、一台未root的手机(我用的是vivo X23)

        3、Android Studio

        4、IDA (我用的汉化的7.0版本)

        5、android:debuggable="true"


        从图片看出我的设备是未root的,没有su权限;接下来我们使用run-as命令操作:



        到达这步我们就有权限操作被调试进程了,下面我们把IDA的远程调试服务拷贝到当前进程目录下,然后对我需要的服务进行提权操作,然后就可以正常运行服务了,具体如下图:



        从图中看到,已经成功连接IDA的服务了,可以从图中看见我导入了两个服务android_server和android_server64,由于我们没有root权限,正常的"adb push"和“cp“指令都是无法使用的,你会得到如下图的结果:



        可以看到我们是没有权限操作的,所以这一就要用到 “Android Studio”了,接下来打开“Android Studio”,打开后你会在右下角看见“Device File Explorer”,在IDE页面的右下角的位置你会看见他具体如图:



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

最后于 2019-12-21 13:15 被梨树生果编辑 ,原因: 修改错别字
收藏
免费 4
支持
分享
最新回复 (13)
雪    币: 189
活跃值: (154)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
很好的文章
2019-12-20 23:02
0
雪    币: 12502
活跃值: (3053)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
强。话说既然选择了ida调试,那些签名校验文件校验之类的,很有必要亲自过一下呀。
2019-12-21 07:45
1
雪    币: 14824
活跃值: (6063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
 3、Android Studio
这个没必要?
2019-12-23 14:19
0
雪    币: 35
活跃值: (209)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
5
你可以尝试先push到Sdcard然后在cp到应用沙盒,这样的话应该就不需要AS了
2019-12-23 15:20
0
雪    币: 3581
活跃值: (719)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
衣非录 你可以尝试先push到Sdcard然后在cp到应用沙盒,这样的话应该就不需要AS了
cp指令尝试了,仅仅在sdcard下有权限,其他的目录没有权限的
2019-12-23 18:01
0
雪    币: 3581
活跃值: (719)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
tDasm 3、Android Studio 这个没必要?
有什么好的方法吗,请指教下
2019-12-23 18:02
0
雪    币: 641
活跃值: (404)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
我想问一下,如果apk加壳并且有签名校验的话这个方法不行吧.我看好多apk都用的360加壳,这方法好像限制比较多啊.
2019-12-23 21:19
0
雪    币: 14824
活跃值: (6063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
梨树生果 有什么好的方法吗,请指教下[em_1]
/data/local/tmp
2019-12-24 08:15
0
雪    币: 3581
活跃值: (719)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
sunzhanwei 我想问一下,如果apk加壳并且有签名校验的话这个方法不行吧.我看好多apk都用的360加壳,这方法好像限制比较多啊.
只要debuggable=true,就可以的,360的加固可能需要过校验的,可能二次打包不会成功,不过你可以动态调试过掉他啊!
2019-12-24 22:49
0
雪    币: 3581
活跃值: (719)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
tDasm /data/local/tmp
这个路径是没有权限的,您可以在没有root的机器上试一下
2019-12-24 22:51
0
雪    币: 14824
活跃值: (6063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
梨树生果 这个路径是没有权限的,您可以在没有root的机器上试一下
你是什么安卓系统?我们都可以的(已经经过n次使用证明)。你可以百度一下看是不是有权限。
2019-12-25 08:21
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
您好,我想问一下,我这个ida,他按照您的步骤,在没有root的真机上面,他会出现“Bogus or irresponsive remote server”  ,我网上查到的原因是SELinux安全策略限制,这如何解决呢,他关闭这个必须要root,但是我手头这个机器是老的华为手机,现在又root不了,有其他解决方案么?
2020-3-9 20:36
0
雪    币: 7
活跃值: (263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
直接写APK的时候把文件放到  context.getFileDir() 的目录下 ,就不用upload了吧
2020-3-10 00:04
0
游客
登录 | 注册 方可回帖
返回
//