zoukankan      html  css  js  c++  java
  • LineageOS源码定制手机系统

    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
    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
     
     
    -----------------------------------------------------------------------------------------------------
    如果你觉得博客对你有用,且你手头又有富裕,可以打赏一下!!!!
     
    知识共享时代,做一个优秀内容提供者。
    ----------------------------------------------------------------------------------------------------

     

  • 相关阅读:
    lr 增强窗格中,如何生成调试信息?
    lr 自带的例子,如何进行关联,通过代码的函数进行实现
    lr11 录制脚本时候,无法自动启动ie,查了网上很多方法都未解决?
    loadrunner11 录制脚步不成功,在录制概要出现“No Events were detected”,浮动窗口总是显示“0 Events”,解决办法
    loadrunner11 安装及破解教程来自百度文库
    安装loadrunner11 ,出现如下错误如何解决?
    回收站数据删除了,如何进行恢复?
    网管工作方面——————打印机删除了然后开机重启他依然存在,如何解决
    Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126
    Sorry, the page you are looking for is currently unavailable. Please try again later. Nginx
  • 原文地址:https://www.cnblogs.com/jiaoxiake/p/6875864.html
Copyright © 2011-2022 走看看