网站客服:zx81024163 |

Android系统固件包解包、修改(涉及root提权)、打包

2024-01-18 14:03:55发布    浏览990次    信息编号:93704

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

Android系统固件包解包、修改(涉及root提权)、打包

目录

瑞芯微固件包介绍

的固件包分为两种:

一种是量产升级包(暂且称其为开发包吧,PS:其实称其为开发包更合适,因为它是使用开发工具来升级的。),使用量产升级工具。 exe进行升级,量产升级包文件包含:HWDEF、-file、、-、(L).bin、-和一个Image文件夹,其中包含五个镜像文件:boot.img、.img、misc。 img、.img 和 .img。

.img 包含所有用户资源。 大多数情况下,修改.img文件就可以达到我们的目的。 本文也重点讨论.img的修改。

另一种是用户升级包(暂且这么称呼吧),利用工具将上述量产升级包的文件打包成一个文件——.img,并使用用户升级工具.exe进行升级升级。 这个文件包需要解压成量产升级包才可以修改,修改后打包成.img进行升级。

1. 开箱与包装

对.img进行解包打包,需要用到附件“打包解包工具”中的.exe、.bat、.bat这三个文件,其中.bat为解包工具。

.bat是打包工具。 将用户升级包.img与上述三个文件放在同一目录下。 双击.bat后,可以将用户升级包解压为6个文件和一个Image文件夹,与量产升级包的文件完全相同。 。 这个时候就可以修改对应的文件了。 修改完成后,双击.bat,会在Image文件夹下生成.img。 该文件是打包后新生成的用户升级包文件。

对于.img的解包和打包,需要两个工具。 这个img文件和工具需要在Linux(等)系统下操作和使用才能解压和打包。 它是一个解包工具,也是一个打包工具。 。

首先通过本地硬盘、U盘或者Live CD启动到Linux(Linux相关知识和安装超出了本文的范围,请自行操作),然后将.img和三个文件复制到根文件夹中系统。 (有些Linux系统与其他挂载的分区或磁盘不兼容,因此复制到系统分区进行操作可以减少出现问题的可能性。本文中与Linux相关的操作以操作系统为例。有人报告使用编译好的版本不能在精简版中使用,所以在教程包中添加了一个deb文件,启动到Linux后双击即可安装。)

打开 shell 并输入:

-x.img

解压 .img 文件。 执行完成后会生成一个名为的文件夹,如下图:

也可以使用下面的方法来解压。 原理就是挂载镜像文件,然后复制出来。 命令如下:

目录

sudo mount -t -o 循环.img

焦油 cvzf .tgz

须藤

rm-r

焦油 xzvf .tgz

使用这种方法的好处是可以避免在某些情况下出现错误的可能性。 第一种方法在某些情况下可能会导致某些文件损坏。 我以前也遇到过这种情况。

解压后的文件夹包含9个文件夹和1个文件。 简要说明如下:

//app系统应用程序存放目录

//bin系统的本地程序是二进制程序,主要包含Linux系统自带的组件。

//etc系统配置文件,如APN接入点设置等核心配置。 //字体字体文件夹。

// 主要是一些核心文件。 从后缀名jar我们可以看出它们是系统平台框架。

//lib主要存放系统的底层库,比如平台运行时库。

//media铃声音乐文件夹,除了常规铃声外,还有一些系统提示事件声音

//usr用户文件夹,包含共享、键盘布局、时区文件等

//xbin存放系统管理工具。 它们是为系统管理员准备的,是一些系统管理和配置工具。

//build.prop属性文件,“关于MID”中显示软件版本、内核、型号等信息。

通过上面的简单介绍,相信您已经有了一个大概的了解。

此时,您可以对文件夹中的文件进行其他修改,例如提取root权限、减少固件、替换修改APK等。

修改完成后,需要将该文件夹打包并进入shell:

.img

(为了方便区分原始img文件,建议重新生成的文件不要与原始文件重名。)

此时根目录下会生成一个新文件.img。 这个文件就是我们修改后重新打包的文件。

至此,.img和.img文件的解包和打包操作就已经介绍完了。 是否需要将.img及对应文件打包成用户升级包.img,取决于您是否需要。

2. 固件升级

固件升级的工具有两种(其实还有第三种升级——通过MID本身升级,但是需要原生软件和硬件支持。目前发现市面上的机器没有这个功能,所以略过) ),即量产升级和用户升级。

量产升级:将量产升级包的6个文件和一个文件夹放入../升级工具/量产升级工具/文件夹中,然后打开量产工具

.exe,如下图:

(如果需要检查选项的话,如果软件跨版本大或者分区被修改过就可以检查。如果你的MID没有功能,就不用检查选项了,题外话太多了) ,那么让我们进入主题。)

关机状态下,连接电脑时长按ESC键或菜单键(根据型号,请自行查找对应信息),按照提示安装驱动(第一次使用),驱动路径点到../ Tools/‐,安装驱动程序安装完毕后,按“执行”即可完成升级。

注意:如果是Vista,系统需要以管理员权限运行该工具,否则会提示“测试设备失败”,导致升级失败。

用户升级:打开用户升级工具.exe,如下图:

点击“ ”按钮,在电脑中选择需要升级的用户升级文件.img,然后按照量产升级方法连接您的MID。 当提示查找设备时,按“升级”按钮进行升级。 完成后会提示“升级成功”,然后拔掉。 断开 USB 电缆并重新启动计算机。

3. 固件修改

前面已经解释了这么多,你的前戏应该做够了。 现在我就介绍一下你们最关心、最想做的事情。 我将再次开始一步步教你。 我希望能够与您合作。 达到目标并冲向高潮。 吼! ! !

1.减少固件并增加APK软件

解压 .img。 解压后,删除、修改、替换..//app目录下不需要的APK文件,制作出适合自己的固件包。 对于app目录下用途不明的APK文件,请不要随意删除,以免出现不必要的问题。

注意:据说有些APK软件需要自带库文件的支持才能正常运行。 这时可以使用其他压缩软件打开APK文件(将.apk后缀改为.zip,然后用压缩软件打开),找到里面的后缀。 它是一个.so文件,然后放在..//lib文件夹中。 修改完成后,进行打包、升级、测试。

2. 提取Root权限

解压 .img。 解压后,将“root权限文件”目录下的.apk和su文件分别放入以下目录:

.apk ---> ..//应用程序

苏 ---> ..//bin

打开shell,使用chmod 6755修改文件权限,如图。

chmod 6755 //应用程序/.apk

chmod 6755 //bin/su

请注意上述命令的大小写,否则可能会出错。 修改完成后,打包。

验证过程中,我根本无法进入资源管理器,因为我使用的是较老的root版本,所以我改成了最新版本V2.94。 我可以进入资源管理器界面,但无法修改或删除文件。 有人可能会疑惑,这真的是root权限吗? 我可以负责任地告诉你,我已经获得了root权限,因为用root权限运行此类软件是正常的。

那么其实这里面又涉及到一个专业知识。 请坐稳。 嘿,你身后的同事不是在看别人,他是在谈论你。 现在请仔细听我的解释:

固件使用文件系统进行分区。

文件系统是压缩文件系统。 它不需要一次性将文件系统的所有内容解压到内存中,而是只在系统需要访问某一位置的数据时立即计算。 将文件系统中数据的位置实时解压到内存中,然后通过访问内存来获取文件系统中需要读取的数据。 文件系统中的解压以及解压后数据在内存中的存储位置都是由文件系统本身维护的。 用户不需要了解具体的实现过程,因此这种方法既方便又节省存储空间。 。 文件系统中的数据经过预处理和打包。 该系统是只读文件系统,不支持写操作。 刷入机器后,该分区是只读的,不能进行任何更改。 因此,刷机后无法修改系统。 只能在刷机前对.img进行解压修改,才能达到我们的目的。

3.修改用户分区大小

有些同事使用MID一段时间后,会担心用户面积太小,无法安装几个软件。 其实不用担心,稍微修改两个文件就可以扩大分区。 现在生产的MID一般都配备2GB以上的内存。 几百MB到1G不会影响机器的使用。 而且现在TF卡已经很便宜了,标配的容量是2G到4G甚至更大。 因此,即使用户面积再大,也不会有太大影响。

(题外话:还有我正在寻找的功能,我个人建议最好修改这两个文件,把用户区做大一些。首先,在本机上读取软件的稳定性会更高。其次,不会因为TF卡的问题而导致软件出现问题!)

言归正传:将用户升级包.img解压(如果已经是量产升级包,则跳过此解压操作),找到其中的HWDEF及两个文件,并备份。 然后用UE(其实也可以用记事本,不过看起来比较乱)修改两个文件的分区偏移和分区大小。 它们以十六进制表示。 前一个分区的偏移量和大小加起来为后一个分区的偏移量,我们需要增加用户分区,所以我们只需要修改用户分区即可。 我们只需要修改用户分区的偏移量和大小即可。

A、修改HWDEF文件:

用UE打开HWDEF,找到以下部分代码(请注意数据红色部分):

=

#: :尺寸

::fh

杂项::f

::F

启动::f

::F

::F

::

缓存::

::

用户::

结尾

简单解释一下,上面的分区代表的是:为,分区大小为:,比如我们需要将使用的空间从原来的123M增加一倍到246M,即

+=,则用户在下一个分区的偏移量变为6C000+3C000=。 修改后新数据如下:

: :

用户::

修改后保存。 HWDEF修改完成。

B.修改文件

再次用UE打开,找到最后一行。 其部分代码如下:

:c,.c init=/init

根=/dev/mem=128M@

=:@(杂项),@(),@(启动),@(),@(),@(),@(缓存),@(),-@(用户)

该代码前面的@表示分区大小,后面的@表示偏移量。 前六个分区的大小和偏移量可以与HWDEF文件中的一一匹配,但分区的大小显然要大得多。 我不明白为什么要增加。 我检查了几个不同型号的这些文件,大小都有差异,在22000-62000(十六进制)之间; 为了避免出现问题,我们也会这样做,所以我们还添加了空间的大小。 22000 到 62000 之间的值。

因此,这里的分区大小为:3C000(扩容后的分区大小)

+22000=5E000,那么下一个分区用户的偏移量也变为:5E000(新分区大小)+6C000(偏移量)=CA000。 修改后的数据如下:

@(),-@(用户)

修改后保存。 正确的修改也完成了。 将原来的两个文件替换为刚才修改的两个文件,然后重新打包升级。

不同型号的分区大小可能会有所不同,所以原文件和修改后的文件都包含在附件中供参考! 本文件仅供参考,请勿直接替换,出现任何问题我们概不负责! 4.设置中“关于MID”修改型号

解压.img,在解压后的文件夹中找到它

构建.prop

用UE打开build.prop文件,找到ro..model=这一行,改成你要显示的文字,比如BM999,修改后保存,然后重新打包烧录。

5.美化界面

这又涉及到APK文件的修改,所以这部分教程我就不过多赘述了。 如果您有需要,可以上网下载相关资料。 有很多教程可供参考。

解压.img,解压后在..//文件夹中找到。

-res.apk,将.APK后缀重命名为.zip,然后解压res两个文件夹,开始我们的美化工作。 请注意,修改后的图像分辨率大小和图像格式必须与原始一致,否则会出现错误。

A.界面美化

解压后找到以下两个目录。 这两个目录存放的是所有界面的系统图标。 可以对需要修改的界面小图标进行美化:

../-res/res/

../-res/res/-land

B.修改启动LOGO(启动时会出现闪烁文字的动画图片)

系统登录动画类似于系统滚动条,由前景和背景两个PNG图像组成。 这两个图像也位于..///-res.apk 文件中。 前景图像 (-logo-mask.png) 上的文本部分被挖空,而背景图像 (-logo-shine.png) 是简单的纹理。 当系统登录时,前景图像显示在顶层。 程序代码控制背景图片不断滚动,背景纹理滚动穿过前景图片的文字镂空部分,从而达到动画效果。 同样原理修改或替换下面两张图即可达到目的。

../-res///-logo-mask.png

../-res///-logo-shine.png

-logo-mask.png:默认前景图片,文字部分镂空,大小256×64

-logo-shine.png:默认背景图,带动态效果,尺寸512×64

美化完成后,用修改后的图片替换APK文件中的相应文件,然后删除APK文件中META-INF文件夹中的CERT.SF和CERT.RSA这两个文件,然后用签名重新签名工具。 然后用签名后的APK文件替换原来的文件,然后重新打包成.img,用工具升级。

6.桌面美化

你是否觉得桌面上默认的公版壁纸、搜索栏、快捷键等图标太丑了? 没问题,全部更换即可。

解压.img,解压后在..//app文件夹中找到.apk,将.APK后缀改为.zip,然后解压其中的res文件夹,对需要美化的图片进行美化。 替换,修改后按照上述方法对文件进行替换、签名、打包、升级。

基础教程结束了! 请注意高级章节。 由于本人水平有限,教程中难免存在错误。 欢迎指正!

提醒:请联系我时一定说明是从星空网上看到的!