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. HTML5中的SSE(服务器推送技术)

    本文原链接:https://cloud.tencent.com/developer/article/1194063 SSE技术详解:一种全新的HTML5服务器推送事件技术 前言 概述 基本介绍 与We ...

  2. batchsize对收敛速度的影响

    想象一下,当mini-batch 是真个数据集的时候,是不是就退化成了 Gradient Descent,这样的话,反而收敛速度慢.你忽略了batch 增大导致的计算 batch 代价变大的问题.如果 ...

  3. MySql数据库中where的使用

    SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程'; MySQL 的 WHERE 子句的字符串比较是不区分大小写的. 你可以使用 BINARY 关键 ...

  4. Java基础面试题: 份证号码组成规则是前4位是代表省份和地区 编写一个程序,通过身份证号码判断某人是否是武汉人以及其性别。

    package com.swift; public class ID_Where_Male_Test { public static void main(String[] args) { /* * 中 ...

  5. 【转】MFC 程序入口和执行流程

    一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用 ...

  6. hash 哈希查找复杂度为什么这么低?

    hash 哈希查找复杂度为什么这么低? (2017-06-23 21:20:36) 转载▼   分类: c from: 作者:jillzhang 出处:http://jillzhang.cnblogs ...

  7. Ubuntu Server 18.04 LTS安装

    Please choose your preferred language. 选择您喜欢的语言 这里直接选择[English] Keyboard configuration 键盘配置 Please s ...

  8. k8s的pod生命周期

    pod的生命周期: 1.init container 2.main contianer (1) post start hook :容器启动后做什么操作(可以命令查看kubectl explain po ...

  9. hibernate简介以及简单配置

    Hibernate简介: Hibernate是一个开源对象关联关系映射的框架,他对JDBC做了轻量级的封装,使我们可以通过面向对象的思想操作数据库. 为什么要用Hibernate: 1: 对JDBC访 ...

  10. centos7无法切换startx

    centos光盘安装后,显示命令行模式,通过startx无法进入图形界面? 解决方法:1.使用yum grouplist查看,根据显示的结果采用不同的界面格式,我用的是 yum groupinstal ...