首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
看雪社区
Android安全
发新帖
39
3
[分享]修改Android模拟器的system分区,以及加入SuperSU
2013-10-9 21:51
27639
[分享]修改Android模拟器的system分区,以及加入SuperSU
Claud
6
2013-10-9 21:51
27639
对Android的模拟器,如果要修改其system分区里的文件,除了remount之外,还需要对数据进行持久化——因为默认情况下emulator会以只读的形式加载system.img,即便remount之后对其进行的修改也不会实际被保存下来。
网络上提到多种解决这一持久化问题的方案。例如[1],将/system拷贝至清空后的/data分区,然后将相应的userdata-qemu.img改名为system.img。以及[2],对live的/system,通过yaffs工具将其dump为一个镜像文件。这些方法都比较复杂,下面介绍一种简单的方法,来自[3]。
1. 创建一个AVD,在这个例子里,我们用Android 4.2.2,命名为root。
2. 将SDK下这个系统的system.img文件拷贝至AVD的目录下一份,例如,在这里:
$ cp adt-bundle-mac/sdk/system-images/android-17/armeabi-v7a/system.img ~/.android/avd/root.avd/
3. 手工指定挂载参数地启动它:
$ emulator -avd root -qemu -nand system,size=0x1f400000,file=~/.android/avd/root.avd/system.img
其中,0x1f400000是指给/system分区500MB的空间。
4. 系统启动后,adb remount一下,然后通过adb mount可以看到system分区已经变为rw了。
5. 现在可以对/system分区做希望的修改了。
6. 修改完成后,关掉模拟器。之后正常启动即可:
$ emulator -avd root
之后如果再要对system做修改,重复第3-6步即可。
嗯,从AVD的名字大家已经可以看出来了,我是想在里面加个root。方法是:
1. 下载Chainfire的SuperSU的UPDATE zip包[4],并解压缩。
2. 在上述第5步,执行以下命令:
$ adb push arm/su /system/xbin/
$ adb chmod 06755 /system
$ adb chmod 06755 /system/xbin/su
$ adb install common/Superuser.apk
3. 在模拟器里,进入SuperSu,会提示更新二进制文件,选择常规方法即可。
参考链接
[1]
http://allencch.wordpress.com/2012/02/29/learn-to-root-android-using-emulator/
[2]
http://blog.thecobraden.com/2012/06/making-persistent-changes-to-android.html
[3]
http://stackoverflow.com/questions/15417105/forcing-the-android-emulator-to-store-changes-to-system
[4]
http://download.chainfire.eu/supersu
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!
收藏
・
39
点赞
・
3
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
14
)
熊猫正正
雪 币:
2321
活跃值:
(4028)
能力值:
( LV12,RANK:530 )
在线值:
发帖
139
回帖
856
粉丝
127
关注
私信
熊猫正正
9
2013-10-9 23:20
2
楼
0
看一看,顶一顶
zorodey
雪 币:
24
活跃值:
(25)
能力值:
( LV3,RANK:20 )
在线值:
发帖
1
回帖
17
粉丝
0
关注
私信
zorodey
2013-10-10 10:01
3
楼
0
这算是解除了对sdk目录下的system.img的锁定吗?!那以后它自动引用的应该就是avd下面的system.img了吧!!
huangyalei
雪 币:
22188
活跃值:
(3702)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
360
粉丝
7
关注
私信
huangyalei
2013-10-10 10:05
4
楼
0
以前为此也困惑过好久,好像最后是直接编辑img加入文件解决的,谢谢版主提供的方法
Claud
雪 币:
1413
活跃值:
(401)
能力值:
(RANK:270 )
在线值:
发帖
33
回帖
304
粉丝
36
关注
私信
Claud
6
2013-10-10 10:14
5
楼
0
对,之后就用的avd下的system.img,而不是SDK下的了。
zhczf
雪 币:
10242
活跃值:
(16504)
能力值:
( LV2,RANK:10 )
在线值:
发帖
-1
回帖
399
粉丝
0
关注
私信
zhczf
2013-10-11 15:15
6
楼
0
来支持楼主分享技术细节,很好的参考资料
windflyer
雪 币:
74
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
12
粉丝
0
关注
私信
windflyer
2013-10-13 20:29
7
楼
0
我一般用uyaffs和mkyaffs2image对android的img进行修改:
https://code.google.com/p/yafuse/downloads/list
dreamasm
雪 币:
48
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
26
粉丝
0
关注
私信
dreamasm
2014-6-3 18:35
8
楼
0
你好,请问下android sdk怎么解除root?模拟器本来就自带root权限。
无边
雪 币:
9479
活跃值:
(757)
能力值:
( LV2,RANK:10 )
在线值:
发帖
17
回帖
605
粉丝
2
关注
私信
无边
2015-8-19 07:54
9
楼
0
emulator -avd root -qemu -nand system,size=0x1f400000,file=~/.android/avd/root.avd/system.img
执行后出错
NAND: could not open file ~/.android/avd/root.avd/system.img, No such file or directory
请问这个怎么解决呢(system.img已经复制到该目录,chmod 777)
edwardlp
雪 币:
9
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
10
粉丝
0
关注
私信
edwardlp
2015-8-21 11:57
10
楼
0
用全路径看看
无边
雪 币:
9479
活跃值:
(757)
能力值:
( LV2,RANK:10 )
在线值:
发帖
17
回帖
605
粉丝
2
关注
私信
无边
2015-8-21 23:41
11
楼
0
~/.android/avd/root.avd/system.img
这个就是完整路径
鬼谷子c
雪 币:
507
活跃值:
(120)
能力值:
( LV6,RANK:90 )
在线值:
发帖
18
回帖
259
粉丝
6
关注
私信
鬼谷子c
1
2016-7-18 16:36
12
楼
0
不是完整路径的,加上 /home/user/.android/avd 这样了才可以的。
影子不寂寞
雪 币:
6
活跃值:
(19)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
357
粉丝
1
关注
私信
影子不寂寞
2016-7-26 08:54
13
楼
0
谢谢楼主分享
学编程
雪 币:
163
活跃值:
(1288)
能力值:
( LV5,RANK:60 )
在线值:
发帖
30
回帖
446
粉丝
2
关注
私信
学编程
1
2016-7-26 10:16
14
楼
0
之后启动还是得用
emulator -avd root -qemu -nand system,size=0x1f400000,file=~/.android/avd/root.avd/system.img,才可以。
我是风景
雪 币:
1
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
4
粉丝
0
关注
私信
我是风景
2016-9-7 10:54
15
楼
0
挂载system读写还行,如果需要root,还有一个更简便得方法,现在一键root工具那么多,这就很方便我们了,我下载了一个kingroot安装到模拟器,就直接获取到了root权限。
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
Claud
6
33
发帖
304
回帖
270
RANK
关注
私信
他的文章
[注意]当汽车遇到「黑客」——车联网信息安全研讨会
13654
[注意]企业账号发帖注意事项
76253
[原创]移动安全这五年
55742
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
返回
顶部