首页
论坛
课程
招聘
[基础理论] [工具脚本] [推荐]一个自用安卓BOOT.IMG修改工具
2021-6-6 18:16 3674

[基础理论] [工具脚本] [推荐]一个自用安卓BOOT.IMG修改工具

2021-6-6 18:16
3674

如果你会接触到 boot.img 的话,那么这个工具可能会对你有帮助。因为当初需要研究supersu之类的相关原理,
而网上关于 boot.img 解包打包等操作的文章及工具实在太杂乱了,挺费时间,所以我抱着顺便理解的心态编写了此工具。

 

当然,第一版主要是 python 来实现的,功能也仅限于 ramdisk 的解包打包,但是随着后来遇到了更多的问题及需要,
改用c编写了目前仅可在安卓设备上运行的二进制程序。功能也增加到了基本可以自动处理 boot.img 中的任何对象。

 

原本,如果你需要对内核进行patch,
你需要,解包boot.img,解压内核,修改,压缩内核,打包boot.img来完成这一系列动作
但是这个工具,可以让你缩减到只用三个动作
解包boot.img,修改,打包boot.img

 

作为一个过来人,我想说,光解压和压缩内核这两个动作,就有可能让新手因为某些原因或玄学问题让你刷入后无法开机。

 

有了这个,你可以很方便的修改内核/命令行参数,ramdisk,甚至镜像中的设备树。当然作为附加功能,也支持 selinux 规则的注入(感谢sepolicy-inject)

 

不过它也有缺点,它只能在设备上运行(android-arm/64,这也意味着你只能在安卓adb shell用sed之类的工具编辑),只支持 android 6.0 - 10 的启动镜像(因为自从11改变了很多东西,可能会支持一小部分android 11的镜像,当然也不支持6.0以下的,因为它们太老了)。
(注意请不要尝试将解包的内容 adb pull 到 windows 主机,你将会丢失 ramdisk 的文件权限)

 

Github: https://github.com/rev1si0n/bxxt

 

当然,它目前也没有发布源码仅有二进制文件,一是我要把它从依赖三方和私有模块甚至Makefile的项目单独提取出来挺麻烦,二是我写的挺烂而且BUG应该多的不行。不过完善以后肯定会发布。
使用方法都在 README 当中。

 

基础使用演示(asciinema )
https://asciinema.org/a/HcZC215U9CIViz7w5oXThOCgL

 

新人第一次发帖,多多关照。


第五届安全开发者峰会(SDC 2021)议题征集正式开启!

收藏
点赞1
打赏
分享
最新回复 (8)
雪    币: 11
活跃值: 活跃值 (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
RiDiN 活跃值 2021-6-7 10:37
2
0

举个例子,此工具,可以使了解这篇文章所需的精力缩减到 20% (我没有说他介绍流程不好,但是并不是所有人都会关心细节的实现流程,特别对于新手这可能会是一个劝退的原因)

https://bbs.pediy.com/thread-266625.htm

最后于 2021-6-7 10:38 被RiDiN编辑 ,原因:
雪    币: 41
活跃值: 活跃值 (348)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jpacg 活跃值 2021-6-7 11:32
3
0
magisk是开源的,需要的都有。
雪    币: 11
活跃值: 活跃值 (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
RiDiN 活跃值 2021-6-7 14:02
4
0
jpacg magisk是开源的,需要的都有。

当然,所有东西都是开源的,我只不过是把他们整合到了一起,你想写你也可以写一个,你想用2条命令替代一条,也没人阻止你。

最后于 2021-6-7 14:04 被RiDiN编辑 ,原因:
雪    币: 11
活跃值: 活跃值 (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
RiDiN 活跃值 2021-6-7 14:14
5
0

还有我说的是,是暂时没有开源并不代表不会,没人用我也就没必要费精力取出来放源码出来了,看样子这里并不会存在受众。

说已经有现成开源工具的,不好意思,正是因为这些挺杂乱的,我真是很厌烦我要敲N个命令或者写个脚本,偶尔参数错误还会让我直接开不了机。我没必要再浪费精力在这些杂七杂八的事情上。

顺便提醒,既然猜测没开源的问题。我想说,我要想在你打包的boot.img塞个自启动的后门确实是个轻而易举的事情,但是不好意思,我没有这么做,这只是一个纯净的二进制工具罢了,但是因为涉及到部分私有代码,我选择做了些混淆。

最后于 2021-6-7 14:32 被RiDiN编辑 ,原因:
雪    币: 2623
活跃值: 活跃值 (280)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小流子 活跃值 2021-6-7 14:33
6
0
挺好的,会有人肯定你的付出
雪    币: 79
活跃值: 活跃值 (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
a303266618 活跃值 2021-6-7 15:10
7
0
RiDiN 还有我说的是,是暂时没有开源并不代表不会,没人用我也就没必要费精力取出来放源码出来了,看样子这里并不会存在受众。说已经有现成开源工具的,不好意思,正是因为这些挺杂乱的,我真是很厌烦我要敲N个命令或者写 ...
我私信您了。可否有了联系方式交流下
雪    币: 323
活跃值: 活跃值 (475)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
abcz316 活跃值 2021-6-8 00:23
8
0
感觉magiskboot的源码已经写得够简洁明了了
雪    币: 79
活跃值: 活跃值 (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
a303266618 活跃值 2021-6-8 11:20
9
0
abcz316 感觉magiskboot的源码已经写得够简洁明了了
膜拜大佬
游客
登录 | 注册 方可回帖
返回