android root
2014-04-03 02:51
176 查看
一、背景
1、安装安卓虚拟机后可以在虚拟机中对软件进行杀毒检测、功能验证,检验软件是否符合个人预期
2、杀毒软件需要系统的root权限
二、问题界定
1、取得虚拟机root权限
2、接触安卓时间不长,只能参照网络的方法进行
三、解决方案
1、参照http://bbs.hiapk.com/thread-763853-1-1.html
2、参照http://blog.csdn.net/feifei454498130/article/details/6537274
四、准备
su
Superuser.apk
五、验证方案
1、昨晚参照方案1进行了到中间无法进行了,直接采用的后半部分,结果可以取得root权限,但是重启后丢失root,无奈!
2、方案2对于我这种小白,有点高深,未验证。感觉方案1和方案2有相通之处。
六、分析
继续分析发现方案1中曾提到system.img,联想到修改ROM教程中有提到这个,能否通过修改system.img取得root权限?
七、再验证
1、复制一份system.img到虚拟机路径用于修改,防止原始文件修改失败还得重新下载
2、用yaffs2img浏览器添加su和Superuser.apk到system.img,并修改权限为4755(右单击添加文件、修改权限)
3、修改虚拟机的system.img路径(不修改原始system.img防止修改失败,修改前要养成备份的好习惯)
八、说明
1、保存思路,便于以后查询
2、我的环境XP SP3,安卓2.3
3、软件路径请视个人情况而定
android-8\images 安卓2.2
android-10\images 安卓2.3
android-16\images 安卓4.1
九、扩展
1、能通过修改system.img取得权限,也能删除系统软件(谨慎操作)
2、修改android-sdk中的原始system.img,新建虚拟机全部修改
附录
===============================================================================
http://bbs.hiapk.com/thread-763853-1-1.html
[原创] 赋予android模拟器_root权限
starduster发表于 2010-12-20 19:24:25
我的环境:XP
1.安装模拟器,网上很多,我就不啰嗦了。
2.建一个模拟器,我建的名字是android2.2。内存卡512M
启动完成后关闭。
3.使模拟器拥有root权限。
需su 和 Superuser.apk (已提供,另cmwrap.apk为测试是否拥有root权限)
3.1 首先把\android-sdk-windows\platforms\android-8\images下的system.img拷贝到模拟器安装目录下
这是我的路径D:\android-sdk_r08-windows\android-sdk\.android\avd\android2.2.avd
(你的可能在C:\Documents and Settings\Administrator\.android\avd\android2.2.avd等位置,实在找不到你搜索下)
开始----运行----输入cmd 确定
cd D:\android-sdk_r08-windows\android-sdk\tools 回车 (注:你的路径可能不一样,找到tools文件夹就行)
3.2. 找到emulator.exe,创建快捷方式目标里输入D:\android-sdk_r08-windows\android-sdk\tools\emulator.exe -avd android2.2 -partition-size 256 -sdcard D:\android-sdk_r08-windows\android-sdk\.android\avd\android2.2.avd\sdcard.img保存。双击执行。会运行模拟器。(注:自行修改,其中D:\android-sdk_r08-windows\android-sdk\tools\emulator.exe为emulator.exe路径,android2.2为名字,256为内存大小,D:\android-sdk_r08-windows\android-sdk\.android\avd\android2.2.avd\sdcard.img为sdcard.img路径)
3.3 模拟器启动好后。在cmd.exe命令行里的D:\android-sdk_r08-windows\android-sdk\tools后面输入
Adb pull /system/build.prop 回车。进入D:\android-sdk_r08-windows\android-sdk\tools,用文本编辑器打开build.prop文件,用”#”注释掉ro.config.nocheckin=yes行。(注:我不知道这干啥用,我是给模拟器加菜市场,找到的教程里有这个,教程地址忘了望作者见谅)
3.4 然后输入命令行:Adb remount 回车 (注:设置/system为可写。重要)
再输入命令行:Adb push build.prop /system/build.prop 回车(注:把修改后的重新写入原处)
3.5 解压附件中的su 、Superuser.apk ,cmwrap.apk 到D:\android-sdk_r08-windows\android-sdk\tools文件夹 (同上 修改为你的路径)
3.6 输入命令行:
adb push su /system/bin/ 回车 (复制su到/system/bin/下)
adb shell chmod 4755 /system/bin/su 回车 (赋予权限)
adb push Superuser.apk /system/app/ 回车 (安装superuser到/system/下)
adb push cmwrap.apk /system/app/ 回车 (可选,安装cmwrap.apk)
adb shell rm /system/app/SdkSetup.apk 回车 (删除sdksetup,你也可以用adb shell rm /system/app/删除里面不想要的东西,前提是运行不出错)
3.7 关闭模拟器,把产生的image文件: .android\avd\V_Android2.2.avd\下的userdata-qemu.img, userdata.img, cache.img删除掉。
3.8 双击刚才建的快捷方式打开模拟器。此时 已经有root权限了。cmwrap.apk会提示你是否赋予它权限。
如果没有root权限,重新在命令行输入 adb shell chmod 4755 /system/bin/su 回车,关闭模拟器,重新打开,就有root权限了。
(本人业余玩android,也比较懒,就不编辑了,)
2010.12.20
===============================================================================
验证失败记录(图片已删除有兴趣的去照片里看)
一、准备
su
Superuser.apk
二、步骤
1、打开安卓虚拟机
2、将su和Superuser.apk放到E:\Program Files\Android\android-sdk\tools路径下(每个人的安装路径不同,请视情况而定)
3、打开CMD进入E:\Program Files\Android\android-sdk\tools输入以下命令
Adb pull /system/build.prop
4、进入E:\Program Files\Android\android-sdk\tools,用文本编辑器打开build.prop文件,用”#”注释掉ro.config.nocheckin=yes行
5、在CMD中依次输入以下命令
Adb remount
Adb push build.prop /system/build.prop
adb push su /system/bin
adb shell chmod 4755 /system/bin/su
adb push Superuser.apk /system/app/
adb shell chmod 4755 /system/app/Superuser.apk
6、打开Superuser有root权限
7、重启虚拟机(哦,丢失权限)
===============================================================================
安装Android SDK安卓模拟器的方法很简单,网上大把,傻瓜式的。不过对其root的方法,网上的版本就不那么好使了。网上的方法从方向性来说是没错的,就是细节没给讲清楚,或者讲错,或者没提到这样root方式对高低不同版本API的区别,导致不少人跟着所谓教程去做都root失败。
我这里以Android4.0.4(API15)为蓝本讲讲适合高版API的Android SDK虚拟机的root方法,很简单的。
Android SDK
root
Root的第一步,准备工具。就两个文件。①上网搜一个叫做《YAFFS2IMG》的镜像浏览器,暂时建议用1.5版,2.0版我下载几款(当然不是Z版)似乎都有问题。②上这个网址,就是Superuser设计者的网站androidsu.com,下载对应自己模拟器版本的超级授权用户文件(该页面下方有其压缩包)。所谓对应版本,一方面是对应模拟器模拟的CPU版本,是ARM的还是x86的,不能选错。如果你模拟时选了MIP的CPU,那就死了root这条心吧。目前互联网上铺天盖地的教程都没讲清楚这点,还在文中引用第三方下载点的文件,是导致新手操作失败的罪魁祸首!另一方面就是选适合自己模拟器模拟系统的版本,以目前androidsu.com提供的最新正式版破解文件来看,适合Android2.0-4.1的。对于更旧版的(好像没什么root的意义了)可找它的历史版本;对于更新版的可以考虑它的测试版或再等一段时间。下载的话,只要下那个Superuser包即可,已经含有齐全的文件。
Root的第二步,用《YAFFS2IMG》将虚拟机子目录“system-images”内对应目标模拟器使用的系统镜像目录(我这里是“android-15\armeabi-v7a”)内的“system.img”打开。将其根目录下的“build.prop”文件提取到硬盘,用文本编辑工具(如记事本)打开,将其“ro.config.nocheckin=yes”一行删掉。当然,行头加“#”号注释掉也可以,似乎多余。再把改完的“build.prop”导入回镜像中的原来位置替换原文件。记住,把文件权限设为“0644”。必须记住,这里只能是“0644”,别依据其它教程讲的其它权限!
Root的第三步,把第一步下载的Superuser压缩包解开,把里头的一个叫做“su”(无扩展名)的文件导入第二步打开的镜像“bin”目录里,把权限设为“6755”。再把这个“su”导到“xbin”目录中,如果遇到已存在旧文件,直接覆盖,且把权限设为“0755”。记住,前一个是“6755”,后一个是“0755”。别弄错了!网上害人的教程,要么把权限说错(可能它设的权限适合旧旧旧版本的SDK模拟器),要么讲漏了“xbin”这个目录!然后把解压缩包中的“Superuser.apk”导入到镜像的“app”目录中,设权限为“0644”,也不能错!也可以把豌豆荚的app软件导进去,设权限为“0644”(好像不行,进去就是豌豆荚停止运行)!试过欧鹏浏览器可以!
Root的最后一步,把修改的镜像保存,选择“无ECC/没有FFFF标志”这组参数组合。
镜像文件都下过了!修改下,很简单!
1、安装安卓虚拟机后可以在虚拟机中对软件进行杀毒检测、功能验证,检验软件是否符合个人预期
2、杀毒软件需要系统的root权限
二、问题界定
1、取得虚拟机root权限
2、接触安卓时间不长,只能参照网络的方法进行
三、解决方案
1、参照http://bbs.hiapk.com/thread-763853-1-1.html
2、参照http://blog.csdn.net/feifei454498130/article/details/6537274
四、准备
su
Superuser.apk
五、验证方案
1、昨晚参照方案1进行了到中间无法进行了,直接采用的后半部分,结果可以取得root权限,但是重启后丢失root,无奈!
2、方案2对于我这种小白,有点高深,未验证。感觉方案1和方案2有相通之处。
六、分析
继续分析发现方案1中曾提到system.img,联想到修改ROM教程中有提到这个,能否通过修改system.img取得root权限?
七、再验证
1、复制一份system.img到虚拟机路径用于修改,防止原始文件修改失败还得重新下载
2、用yaffs2img浏览器添加su和Superuser.apk到system.img,并修改权限为4755(右单击添加文件、修改权限)
3、修改虚拟机的system.img路径(不修改原始system.img防止修改失败,修改前要养成备份的好习惯)
八、说明
1、保存思路,便于以后查询
2、我的环境XP SP3,安卓2.3
3、软件路径请视个人情况而定
android-8\images 安卓2.2
android-10\images 安卓2.3
android-16\images 安卓4.1
九、扩展
1、能通过修改system.img取得权限,也能删除系统软件(谨慎操作)
2、修改android-sdk中的原始system.img,新建虚拟机全部修改
附录
===============================================================================
http://bbs.hiapk.com/thread-763853-1-1.html
[原创] 赋予android模拟器_root权限
starduster发表于 2010-12-20 19:24:25
我的环境:XP
1.安装模拟器,网上很多,我就不啰嗦了。
2.建一个模拟器,我建的名字是android2.2。内存卡512M
启动完成后关闭。
3.使模拟器拥有root权限。
需su 和 Superuser.apk (已提供,另cmwrap.apk为测试是否拥有root权限)
3.1 首先把\android-sdk-windows\platforms\android-8\images下的system.img拷贝到模拟器安装目录下
这是我的路径D:\android-sdk_r08-windows\android-sdk\.android\avd\android2.2.avd
(你的可能在C:\Documents and Settings\Administrator\.android\avd\android2.2.avd等位置,实在找不到你搜索下)
开始----运行----输入cmd 确定
cd D:\android-sdk_r08-windows\android-sdk\tools 回车 (注:你的路径可能不一样,找到tools文件夹就行)
3.2. 找到emulator.exe,创建快捷方式目标里输入D:\android-sdk_r08-windows\android-sdk\tools\emulator.exe -avd android2.2 -partition-size 256 -sdcard D:\android-sdk_r08-windows\android-sdk\.android\avd\android2.2.avd\sdcard.img保存。双击执行。会运行模拟器。(注:自行修改,其中D:\android-sdk_r08-windows\android-sdk\tools\emulator.exe为emulator.exe路径,android2.2为名字,256为内存大小,D:\android-sdk_r08-windows\android-sdk\.android\avd\android2.2.avd\sdcard.img为sdcard.img路径)
3.3 模拟器启动好后。在cmd.exe命令行里的D:\android-sdk_r08-windows\android-sdk\tools后面输入
Adb pull /system/build.prop 回车。进入D:\android-sdk_r08-windows\android-sdk\tools,用文本编辑器打开build.prop文件,用”#”注释掉ro.config.nocheckin=yes行。(注:我不知道这干啥用,我是给模拟器加菜市场,找到的教程里有这个,教程地址忘了望作者见谅)
3.4 然后输入命令行:Adb remount 回车 (注:设置/system为可写。重要)
再输入命令行:Adb push build.prop /system/build.prop 回车(注:把修改后的重新写入原处)
3.5 解压附件中的su 、Superuser.apk ,cmwrap.apk 到D:\android-sdk_r08-windows\android-sdk\tools文件夹 (同上 修改为你的路径)
3.6 输入命令行:
adb push su /system/bin/ 回车 (复制su到/system/bin/下)
adb shell chmod 4755 /system/bin/su 回车 (赋予权限)
adb push Superuser.apk /system/app/ 回车 (安装superuser到/system/下)
adb push cmwrap.apk /system/app/ 回车 (可选,安装cmwrap.apk)
adb shell rm /system/app/SdkSetup.apk 回车 (删除sdksetup,你也可以用adb shell rm /system/app/删除里面不想要的东西,前提是运行不出错)
3.7 关闭模拟器,把产生的image文件: .android\avd\V_Android2.2.avd\下的userdata-qemu.img, userdata.img, cache.img删除掉。
3.8 双击刚才建的快捷方式打开模拟器。此时 已经有root权限了。cmwrap.apk会提示你是否赋予它权限。
如果没有root权限,重新在命令行输入 adb shell chmod 4755 /system/bin/su 回车,关闭模拟器,重新打开,就有root权限了。
(本人业余玩android,也比较懒,就不编辑了,)
2010.12.20
===============================================================================
验证失败记录(图片已删除有兴趣的去照片里看)
一、准备
su
Superuser.apk
二、步骤
1、打开安卓虚拟机
2、将su和Superuser.apk放到E:\Program Files\Android\android-sdk\tools路径下(每个人的安装路径不同,请视情况而定)
3、打开CMD进入E:\Program Files\Android\android-sdk\tools输入以下命令
Adb pull /system/build.prop
4、进入E:\Program Files\Android\android-sdk\tools,用文本编辑器打开build.prop文件,用”#”注释掉ro.config.nocheckin=yes行
5、在CMD中依次输入以下命令
Adb remount
Adb push build.prop /system/build.prop
adb push su /system/bin
adb shell chmod 4755 /system/bin/su
adb push Superuser.apk /system/app/
adb shell chmod 4755 /system/app/Superuser.apk
6、打开Superuser有root权限
7、重启虚拟机(哦,丢失权限)
===============================================================================
安装Android SDK安卓模拟器的方法很简单,网上大把,傻瓜式的。不过对其root的方法,网上的版本就不那么好使了。网上的方法从方向性来说是没错的,就是细节没给讲清楚,或者讲错,或者没提到这样root方式对高低不同版本API的区别,导致不少人跟着所谓教程去做都root失败。
我这里以Android4.0.4(API15)为蓝本讲讲适合高版API的Android SDK虚拟机的root方法,很简单的。
Android SDK
root
Root的第一步,准备工具。就两个文件。①上网搜一个叫做《YAFFS2IMG》的镜像浏览器,暂时建议用1.5版,2.0版我下载几款(当然不是Z版)似乎都有问题。②上这个网址,就是Superuser设计者的网站androidsu.com,下载对应自己模拟器版本的超级授权用户文件(该页面下方有其压缩包)。所谓对应版本,一方面是对应模拟器模拟的CPU版本,是ARM的还是x86的,不能选错。如果你模拟时选了MIP的CPU,那就死了root这条心吧。目前互联网上铺天盖地的教程都没讲清楚这点,还在文中引用第三方下载点的文件,是导致新手操作失败的罪魁祸首!另一方面就是选适合自己模拟器模拟系统的版本,以目前androidsu.com提供的最新正式版破解文件来看,适合Android2.0-4.1的。对于更旧版的(好像没什么root的意义了)可找它的历史版本;对于更新版的可以考虑它的测试版或再等一段时间。下载的话,只要下那个Superuser包即可,已经含有齐全的文件。
Root的第二步,用《YAFFS2IMG》将虚拟机子目录“system-images”内对应目标模拟器使用的系统镜像目录(我这里是“android-15\armeabi-v7a”)内的“system.img”打开。将其根目录下的“build.prop”文件提取到硬盘,用文本编辑工具(如记事本)打开,将其“ro.config.nocheckin=yes”一行删掉。当然,行头加“#”号注释掉也可以,似乎多余。再把改完的“build.prop”导入回镜像中的原来位置替换原文件。记住,把文件权限设为“0644”。必须记住,这里只能是“0644”,别依据其它教程讲的其它权限!
Root的第三步,把第一步下载的Superuser压缩包解开,把里头的一个叫做“su”(无扩展名)的文件导入第二步打开的镜像“bin”目录里,把权限设为“6755”。再把这个“su”导到“xbin”目录中,如果遇到已存在旧文件,直接覆盖,且把权限设为“0755”。记住,前一个是“6755”,后一个是“0755”。别弄错了!网上害人的教程,要么把权限说错(可能它设的权限适合旧旧旧版本的SDK模拟器),要么讲漏了“xbin”这个目录!然后把解压缩包中的“Superuser.apk”导入到镜像的“app”目录中,设权限为“0644”,也不能错!也可以把豌豆荚的app软件导进去,设权限为“0644”(好像不行,进去就是豌豆荚停止运行)!试过欧鹏浏览器可以!
Root的最后一步,把修改的镜像保存,选择“无ECC/没有FFFF标志”这组参数组合。
镜像文件都下过了!修改下,很简单!
相关文章推荐
- android推断手机是否root
- android通过修改rom或通过root屏蔽Home键
- 判断 Android 设备是否已 ROOT
- android虚拟机(ROOT)权限
- SONY 系列手机 Android 5.1 系统 Root 方法
- android 无需root静默安装
- Android--android.view.ViewRoot$CalledFromWrongThreadException异常解决
- android手机root后的安全问题 (四) 禁止开机启动和应用失效
- 研究Xposed相关二:如何root android模拟器(android4.3.1)
- android ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hi
- Android手机root权限的判断与获取
- 手动root android 模拟器(emulator)详细过程
- 关于Android通过su申请root的补充
- Android系统篇之----免root实现Hook系统服务拦截方法
- Android在代码中执行shell命令,针对root命令
- Android免root提权手机已安装apk的方法
- android手机root后的安全问题 (二)
- Android手机怎么root?root有哪些风险?
- 无需root,清除清理安卓,android的cache,缓存
- unable to connect to 192.168.1.110:5555 解决办法(不用rootAndroid设备)