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是否支持FQ。
      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
1.下载开启包: addonsu-arm64-signed.zip  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 (30.56 MB, 下载次数: 4480)
注.黑域需要开启USB测试连接电脑连接正常后
双击“黑域补丁制作byTinyfish.bat”安装完成重启手机
 
 

关于笔者:

 
微信公众号:编码安全
 
微信:蕉下客

 
 
 
邮箱: changle517318@sohu.om
 
 
-----------------------------------------------------------------------------------------------------
如果你觉得博客对你有用,且你手头又有富裕,可以打赏一下!!!!
 
知识共享时代,做一个优秀内容提供者。
----------------------------------------------------------------------------------------------------

LineageOS源码定制手机系统的更多相关文章

  1. 自己动手编译Android(LineageOS)源码

    准备 设备:红米3s 设备代号:land Android版本:7.1.1 源码提供:Lineage PC配置: 系统:Ubuntu16.04 x64 至少12G RAM 至少80GB 剩余硬盘空间 良 ...

  2. 漫谈可视化Prefuse(六)---改动源码定制边粗细

    可视化一路走来,体会很多:博客一路写来,收获颇丰:代码一路码来,思路越来越清晰.终究还是明白了一句古话:纸上得来终觉浅,绝知此事要躬行. 跌跌撞撞整合了个可视化小tool,零零碎碎结交了众多的志同道合 ...

  3. 2017最新修复福运来完整运营中时时彩源码PC+手机版本功能齐全

    QQ:1395239152 2017-3.14最新修复福运来完整运营版时时彩源码PC+手机版本功能齐全 使用php+mysql开发,并带有完整数据库.截图!!!  注意哈  带手机版  以下截图均为测 ...

  4. (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航

    (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航 首页支持微信登陆,只有第8套模板支持(endv模板),后 ...

  5. 用Scratch2.0源码定制一个自己的编辑器

    用Scratch2.0源码定制一个自己的编辑器,换成自己的软件名称和图标,添加中文字体,修复汉化错误等等1.准备:下载Scratch2.0源码.安装开发工具Adobe Flash Builder4.7 ...

  6. 信用卡分销系统源码、分销系统定制贴牌、信用卡三级分销系统源码、信用卡返佣系统OEM

    信用卡返佣分销系统贴牌,全套源码,可定制UI界面 这一整套绝对是市场上最完善最好的一套系统:里面的特色功能: 1.合伙人功能,解决你前期的资金以及资源问题 2.推广素材库,全方位增加推广效率 3.红包 ...

  7. 新一代开源即时通讯应用源码定制 运营级IM聊天源码

    公司介绍:我们是专业的IM服务提供商!哇呼Chat是一款包含android客户端/ios客户端/pc客户端/WEB客户端的即时通讯系统.本系统完全自主研发,服务器端源码直接部署在客户主机.非任何第三方 ...

  8. Android源码笔记——Camera系统架构

    Camera的架构与Android系统的整体架构保持一致,如下图所示,本文主要从以下四个方面对其进行说明. Framework:Camera.java Android Runtime:android_ ...

  9. 实例源码--Android手机狗(防盗)源码

      下载源码   技术要点: 1. SharedPreferences数据保存 2. SIM卡状态监 听 3. 发短信.发邮 箱.获取通讯信息 4. 源码带详细的 中文注释 ...... 详细介绍: ...

随机推荐

  1. Talent Show

    6349: Talent Show 时间限制: 1 Sec  内存限制: 128 MB提交: 106  解决: 40[提交] [状态] [讨论版] [命题人:admin] 题目描述 Farmer Jo ...

  2. python处理图片的一些操作

    1.把图片分割成一个个竖条: from PIL import Image gap = 20 img_name = '/home/sensetime/000132_11_4.png' im = Imag ...

  3. key directories in the linux file system

    Key directories in the file system: */: Root directory (base of file system) /bin: Executable progra ...

  4. Python——函数入门(二)

    一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用 ...

  5. javaweb基础(5)_servlet原理

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  6. 获取页面的title值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. java在线聊天项目1.3版设计好友列表框功能补充,因只要用户登录就发送一串新列表,导致不同客户端好友列表不同问题

    解决完毕后效果图: 好友列表Vector添加的时候进行判断,如果有相同的则不添加 int flag=0; for (int i = 0; i < names.size(); i++) { if ...

  8. iOS JS 交互之利用系统JSContext实现 JS调用oc方法

    ios js 交互分为两块: 1.oc调用js 这一块实现起来比较简单, 我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择如下操作,(拖入的文件夹是蓝色的, ...

  9. 03等待多个线程返回WaitForMultipleObject

    二. WaitForMultipleObject 等待单个线程返回 1. 函数原型 DWORD WINAPI WaitForMultipleObjects( _In_ DWORD nCount, _I ...

  10. PHPCompatibility检测php版本语法兼容

    直接上步骤: cd /datas/htdocs/ mkdir PHPCompatibility cd PHPCompatibility/ curl -s http://getcomposer.org/ ...