ROOT 原理初探
来源:互联网 发布:并行计算与性能优化 编辑:程序博客网 时间:2024/05/16 09:12
ROOT原理
操作系统的基本组成
Linux: root == Windows: administrator
操作系统 = 系统内核 + 文件系统
App
1) 存储App目录:
I. 本机的: /data/app
II. 系统的: /system/app2) 向/system/app目录下复制文件的方法
I. 拥有root权限后
II. 通过Android ROM方式
III. 通过Recovery升级包方式获取ROOT权限步骤
1) 刷一个合适Recovery
2) 改造su命令
3) Recovery刷机文件
4) 执行su命令提取ROOT权限
5) 让ROM本身拥有ROOT权限
4.Edify语言
1) 输出字符串: ui_print(“hello world”);
2) 用于执行程序: run_program(“/sbin/busybox”,”mount”,”/system”);
3) 删除一个多个文件: delete(“/system/xbin/su”);
4) 复制文件或目录: package_extract_dir(“system”,”/system”);
5) 设置一个或多个文件的权限: set_perm(0,0,0777,”/system/xbin/su”);
6) 挂载分区: mount(“ext4”,”EMMC”,”/dev/block/platform/s3c-sdhci.0/by-name/system”,”/system”);
7) 卸载分区: unmount(“/system”);
刷机步骤
1) 下载Recovery.–网址: http://www.clockworkmod.com/rommanager
2) adb reboot bootloader
3) fastboot
危险的命令:
I. fastboot flash bootloader bootloader.img
II.自毁命令 fastboot erase bootloader
4) fastboot flash recovery grouper.img
5) fastboot reboot编写updater-script脚本文件
1) 以读写模式挂载/system
2) 删除旧的su文件
3) 复制新的su文件
4) 修改su文件的权限
5) 卸载/system
脚本文件内容:
ui_print(“————”);
ui_print(“Recovery Upgrade Package”);
ui_print(“————”);ui_print(“—Mounting /system —”);
以读写模式挂载/system
run_program(“/sbin/busybox”, “mount”,”-o”,”rw”, “/system”);
ui_print(“*Delete /system/xbin/su *“);
删除旧的su文件
delete(“/system/xbin/su”);
ui_print(“* extracting files”);
将刷机包中的system目录的所有文件复制到/system目录中的相应位置
package_extract_dir(“system”,”/system”);
设置su命令的权限, 将其变成可执行的
set_perm(0,0,0777, “/system/xbin/su”);
卸载/system
unmount(“/system”);
ui_print(“finished”);制作Recovery升级包
存放updater-script文件: META-INF/com/google/android
存放su文件: system/xbin复制su命令到/system/xbin目录
adb reboot recovery
adb sideload update.zip提取root权限(两种情况)
1) 在Android设备的终端中执行su命令提取ROOT权限
I. adb shell
II. su 进入root权限
III. mount | grep system 查看当前物理目录
IV. mount -o rw,remount /目录 设置为读写权限2) 在App中调用su命令提取ROOT权限
Runtime.getRuntime().exec(“su”);
OutputStream os = process.getOutputStream();
os.write(“ls /system/app”.getBytes());
os.flush;
os.close();修改Android设备的启动动画
1) 基本方法: 只需要替换/system/media目录下的bootanimation.zip文件即可
2) desc.txt文件内容结构
[width] [height] [frame-rate]
p [loop] [pause] [folder]
p [loop] [pause] [folder]
… …
p [loop] [pause] [folder]
其中:
width: 动画播放的宽度
height: 动画播放的高度
frame-rate: 每秒播放的帧数
loop: 当前part动画循环的次数
pause: 当前part动画播放完后暂停的帧数
folder: 当前part动画对应的静态图像文件存储的目录名称。su命令原理分析
源代码文件: su.c
- Android Root原理初探
- Android Root原理初探
- ROOT 原理初探
- Android系统Root原理初探——学习笔记
- CodeSmith技术原理初探
- 编译原理初探
- Spy++原理初探
- Spy++原理初探
- Spy++原理初探
- Spy++原理初探
- Spy++原理初探
- SDRAM原理初探
- Spy++原理初探
- Spy++原理初探
- Spy++原理初探
- Spy++原理初探
- java classloader原理初探
- Spy++原理初探
- p次方求和
- mac install opencv with java
- 修改Tomcat内存大小
- java获取图片
- 最全三大框架整合(使用映射)——Emp.hbm.xml
- ROOT 原理初探
- HDU-4567-思维-Brilliant Programmers Show -13长沙邀请赛
- poj3335(半平面交)
- Android就业面试技巧系列-技术篇9 (AsyncTask和Handler区别)
- 常用docker命令
- psd->html 原型图的转换
- Chinese Rings (矩阵快速幂(推理))
- 面向对象
- Android 百度地图使用