LineageOS源码定制手机系统
导语:
现在市场的手机基本就两种: 苹果机和android机。 今天我们不谈苹果机, 对小编我来讲,那是个奢侈品, android是我的最爱。对于一般android手机用户来说,操作系统都是手机厂商(小米,华为。。。)自带的,或者通过使用第三方(刷机精灵,。。。)刷新的。这些手机都有一个特别不好的地方,就是有很多预装软件,无法卸载,甚至系统中包含一些恶意软件,病毒,偷窥你的隐私,窃取你的数据。 很多android手机用户对此表示忧虑, 这种忧虑本省就是原因在于是资源信息的不对称, 对于一般的用户而言,我们无法判之一只手机系统的安全状态。但是对于你一个逆向分析师而言,不存在资源, 信息的不对称,对于android系统是开放,只有部分设备相关的代码不对外开放(为了保护设备商).我们完全可以android源码来生成一个android系统,这个系统的源码由于在我们手中,对我们完全可以掌控,你像android掌控力也大,需要的对android源码进行大量的分析,这是后话了。总之,将主动权在自己手上,你才有更多的话语权!!!! 用android源码编译一个自己手机系统,除了安全之外,我们可以。
- 手机个性化, 修改手机代码,让自己手机系统与众不同。比如修改手机的开机界面(如果你够自恋,你可以修改你的美照,哈哈)
- 方便调试App(有些bug 已经无法在App层解释,需要深入到系统理解)
- 黑科技(逆向别人的App, 修改系统行为,例如修改GPS系统)
总之,你能做些普通开发者做不到的功能,业内为“高级需求”
android源码刷机资源
目前通过源码刷机有两种方式:
1. AOSP 源码刷机, 条件:需要google手机一部
2. LineageOS/CM 源码刷机,条件:LineageOS支持的手机一部。
由于本屌丝穷B一枚,买不起google手机,google手机价格昂贵,有些机型已超苹果机。本人所在公司使用是公司的测试机-Remi3手机一部,如果有人需要源码刷机的话,本屌丝免费刷机。除了android源码外,我们还需要设相关的代码和库。如下图示,Devicce Open Source, 设备厂商公开的代码, Devicce Propritatry: 设备相关的库代码。
笔者所用刷机资源:
1、 Android源码是LineageOS : https://github.com/lineageos
2、 设备相关代码:TheMuppets: https://github.com/TheMuppets
3、 刷机工具: https://twrp.me/
4、 红米3S (设备名ido)
5、 Ubuntu系统机虚拟 一台,磁盘资源100G以上
检查你的手机是否只是LineageOS源码刷机, 以红米3为例
1. 访问 https://github.com/lineageos,查询设备是否支持红米3S
2.单击android_device_xiaomi_ido 看看对应android源码的分支版本,笔者选择的最新的cm14.1
刷机过程
1. 下载源码前,Unbuntu是否支持翻墙。
wget https://raw.githubusercontent.com/racaljk/hosts/master/hosts -qO /tmp/hosts
sudo sh -c 'cat /tmp/hosts > /etc/hosts'
2.安装并配置好repo 不细说
3.下载, 这个耗时比较久。
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
repo sync -c -f -j8 --force-sync --no-clone-bundle
4.下载完后的,LineageOS的代码,不好包含设备相关源码, 执行以下命令,同步设备的公开代码
source build/envsetup.sh
breakfast canccro
5.同步完设备代码,此时我们需要同步设备私有库。如下操作
在.repo/loccal_mainifest/roomsevice.xml 文件中新增一行:
<project name="TheMuppets/proprietary_vendor_xiaomi" path="vendor/xiaomi" remote="github" revision="cm-14.1"/>
然后执行repo sync 同步
6.编译LineageOS源码,生成ROM
source build/envsetup.sh
brunch ido
编译完后就能在../out/target/product/ido 目录下找到相应ROM啦
3, 使用twrp 刷机, 这个网上有很多教程, 不多言啦
刷机后续
刷机后,LineageOS启动, LineageOS 是主动屏蔽了root管理权限的。我们需要去开启root权限。笔者试过kingroot 开启root失败。所以使用root开启包启动root
<ignore_js_op style="word-wrap: break-word;">addonsu-remove-arm64-signed.zip
只要是Arm64架构的CPU架构都可用
开启包需要在恢复模式下刷入
最后附一个省电神器“黑域补丁”自动开启包
<ignore_js_op style="word-wrap: break-word;"> 黑域全自动补丁制作工具.rar
注.黑域需要开启USB测试连接电脑连接正常后
双击“黑域补丁制作byTinyfish.bat”安装完成重启手机
关于笔者:
微信公众号:编码安全
微信:蕉下客
邮箱: changle517318@sohu.om
-----------------------------------------------------------------------------------------------------
如果你觉得博客对你有用,且你手头又有富裕,可以打赏一下!!!!
知识共享时代,做一个优秀内容提供者。
----------------------------------------------------------------------------------------------------