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. 【转】瓜娃(guava)的API快速熟悉使用

    http://www.cnblogs.com/snidget/archive/2013/02/05/2893344.html 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: I ...

  2. VMware vSphere6.0 服务器虚拟化部署安装图解

    一 VMware vSphere部署的前期规划要点 1 vSphere的优点 (略) 2 如何利用现在的设备架构虚拟化环境 在虚拟化过程中,用户大多会考虑目前现有的服务器.存储.交换机等基础设备是否可 ...

  3. mysql中添加数据时,报错(incorrect string value:'\xf0\x9f ) 字符转换不正确

    这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 在网上搜了一下解决问题的方案,我选了一 ...

  4. fei33423 工作 职场 格言

    对老板: 1.  老板不知道你做的事情(目标设定) 2.  老板要的是规划(对上报告), 自己给自己设定 金字塔四位下的目标,各种维度.如何细化. 2.1 明确老板期望 2.2 与老板达成共识 2.3 ...

  5. 03_2_JAVA中的面向对象与内存解析

    03_2_JAVA中的面向对象与内存解析 1. 成员变量 成员变量可以是Java语言中任何一种数据类型(包括基本数据类型和引用数据类型) 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用 ...

  6. iOS 打印系统字体

    NSArray * array = [UIFont familyNames]; for( NSString *familyName in array ){ printf( "Family: ...

  7. C# 调用腾讯地图WebService API获取距离(一对多)

    官方文档地址:https://lbs.qq.com/webservice_v1/guide-distance.html 代码: /// <summary> /// 获取距离最近的点的经纬度 ...

  8. 如何挂载一个镜像文件(how to mount an image file)

    如何挂载一个镜像文件(how to mount an image file) 08/16/2012master 4 Comments 在使用KVM或Xen虚拟化的情况下,经常需要使用镜像文件(imag ...

  9. bzoj4666 小z的胡话

    题目描述: bz 题解: 乱搞好题哇. 众所周知斐波那契数列是有循环节的. 我们可以搞出在模$10^x$下与所给得数同余的集合,那么在模$10^{x+1}$下,同余集合一定是原集合及循环若干循环节的大 ...

  10. CPL学习笔记(二)

    数组 数组(array) 声明通用格式为: typeName arrayName[arraySize]. arrayName指定元素数目,必须为整型常量或const值.(不能是变量) int a[3] ...