update-script脚本语法说明(根据android源代码中的recovery.c进行的定义)

update-script脚本语法说明(根据android源代码中的recovery.c进行的定义):


1.copy_dir
语法:copy_dir <src-dir> <dst-dir> [<times**p>]
< src-dir>表示原文件夹,<dst-dir>表示目的文件夹,[<times**p>]表示时间戳
作用:将<src-dir>文件夹中的内容复制到<dst-dir>文件夹中。<dst-dir>文件夹中的原始内容将会保存不变,除非<src-dir>文件夹中有相同的内容,这样<dst-dir>中的内容将被覆盖
举例:copy_dir PACKAGE:system SYSTEM:(将升级包中的system文件夹复制到手机中)

2.format
语法:format <root>
< root>表示要格式化的分区
作用:格式化一个分区
举例:format SYSTEM:(将手机/system分区完全格式化)
注意:格式化之后的数据是不可以恢复的

3.delete
语法:delete <file1> [... <fileN>]
< file1> [... <fileN>]表示要格式化的文件,可以是多个文件用空格隔开
作用:删除文件1,2到n
举例:delete SYSTEM:app/Calculator.apk(删除手机systen文件夹中app中的Calculator.apk文件)

4.delete_recursive
语法:delete_recursive <file-or-dir1> [... <file-or-dirN>]
< file-or-dir1> [... <file-or-dirN>]表示要删除的文件或文件夹,可以使多个,中间用空格隔开
作用:删除文件或者目录,删除目录时会将目录中的所有内容全部删除
举例:delete_recursive DATA:dalvik-cache(删除/data/dalvik-cache文件夹下的所有内容)

5.run_program
语法:run_program <program-file> [<args> ...]
< program-file>表示要运行的程序,[<args> ...]表示运行程序所加的参数
作用:运行终端程序
举例:run_program PACKAGE:install_busybox.sh(执行升级包中的install_busybox.sh脚本)

6.set_perm
语法:set_perm <uid> <gid> <mode> <path> [... <pathN>]
< uid>表示用户名称,<gid>表示用户组名称,<mode>,表示权限模式,<path> [... <pathN>]表示文件路径,可以使多个,用空格隔开
作用:设置单个文件或目录的所有者和权限,像linux中的chmod、chown或chgrp命令一样,只是集中在了一个命令当中
举例:set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh(设置手机system中的etc/init.goldfish.sh的用户为root,用户组为shell,所有者以及所属用户组成员可以进行读取和执行操作,其他用户无操作权限)

7.set_perm_recursive
语法:set_perm_recursive <uid> <gid> <dir-mode> <file-mode> <path> [... <pathN>]
< uid> 表示用户,<gid>表示用户组,<dir-mode>表示文件夹的权限,<file-mode>表示文件的权限,<path> [... <pathN>]表示文件夹的路径,可以多个,用空格分开
作用:设置文件夹及文件夹中的文件的所有者和用户组
举例:set_perm_recursive 0 0 0755 0644 SYSTEM:app(设置手机system/app文件夹及其中文件的用户为root,用户组为root,app文件夹权限为所有者可以进行读、写、执行操作,其他用户可以进行读取和执行操作,其中的文件的权限为所有者可以进行读写操作,其他用户可以进行读取操作)

8.show_progress
语法:show_progress <fraction> <duration>
<表示一个小部分> <表示一个小部分的持续时间>
作用:为下面进行的程序操作显示进度条,进度条会根据<duration>进行前进,当操作时间是确定的时候会更快
举例:show_progress 0.1 0(显示进度条当操作完成后前进10%)

9.symlink
语法:symlink <link-target> <link-path>
< link-target>表示链接到的目标,<link-path>表示快捷方式的路径
作用:相当于linux中的ln命令,将<link-target>在<link-path>处创建一个软链接,<link-target>的格式应为绝对路径(或许相对路径也可以),<link-path>为“根目录:路径”的形式
举例:symlink /system/bin/su SYSTEM:xbin/su(在手机中system中的xbin中建立一个/system/bin/su的快捷方式)
打开META-INF\com\google\android\,里面个update-script,用记事本打开,很多代码,整理一下,依次看,



1. show_progress 0.1 0 显示进度

2. format CACHE: 格式化 CACHE 就是清除之前ROM的缓存数据

3. delete DATA:app 删除手机DATA下的APP目录,用户安装的软件。

4. copy_dir PACKAGE:data DATA: 复制ROM的data 到手机里的DATA下


5. set_perm 1000 1000 0771 DATA:app 给刚复制的data/app设置权限


6. format SYSTEM: 格式化手机的system

7. copy_dir PACKAGE:system SYSTEM: 复制ROM里的SYSTEM 到手机的SYSTEM


8. symlink busybox SYSTEM:xbin/ 这些是一些软连接了,很多就不写了

~~~~~~字母是分大小写的,注意一下~~~~~~~

51. symlink busybox DATA:xbin/set_resolvconf

52. set_perm_recursive 0 2000 0755 0755 SYSTEM:etc/init.d 设置权限

53. show_progress 0.1 10 进度显示结束

54. show_progress 0.2 0 再次显示进度

55. format BOOT: 格式化BOOT区


56. write_raw_image PACKAGE:boot.img BOOT: 烧录ROM的BOOT.IMG到BOOT区

57. show_progress 0.2 10 进度显示结束

update-script脚本语法说明(根据android源代码中的recovery.c进行的定义):
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 4.4.3系统,可以利用recoveryupdate.zip升级包进行RSA加密及解密,具体步骤如下: 1. 生成RSA公私钥对。可以使用openssl工具生成,命令如下: ``` openssl genrsa -out private_key.pem 2048 openssl rsa -in private_key.pem -pubout -out public_key.pem ``` 这样就生成了一个私钥文件 private_key.pem 和一个公钥文件 public_key.pem。 2. 将公钥文件添加到Android系统。将 public_key.pem 文件复制到 Android 系统的 /res/keys 目录下。 3. 利用私钥文件对 update.zip 进行签名。使用以下命令对 update.zip 进行签名: ``` openssl dgst -sha1 -sign private_key.pem < update.zip > update.zip.signature ``` 这样就会生成一个签名文件 update.zip.signature。 4. 将签名文件添加到 update.zip 。使用以下命令将签名文件添加到 update.zip : ``` zip -r update_signed.zip update.zip update.zip.signature ``` 这样就生成了一个签名后的升级包 update_signed.zip。 5. 在recovery进行升级。将签名后的升级包 update_signed.zip 放到 SD 卡,然后进入 recovery,选择 install zip from sdcard,然后选择 update_signed.zip 进行升级。 6. 在recovery进行解密。如果需要在 recovery 解密 update_signed.zip,可以使用以下命令: ``` openssl dgst -sha1 -verify /res/keys/public_key.pem -signature META-INF/CERT.RSA META-INF/MANIFEST.MF ``` 这样就可以验证签名,并且解密 update_signed.zip。 请注意,以上步骤仅适用于 Android 4.4.3 系统,其他版本的 Android 系统可能会有所不同。此外,RSA加密算法虽然安全性较高,但是加密解密过程较为耗时,可能会影响系统性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值