一、底层语言的学习之越狱环境的搭建

自2015年从事,开发以来,没有意识到文章的重要性。作为一个优秀的开发工程师,并不是能完成来自于产品提出的业务代码,而是在完成功能的前提下,要有一定的大局观,一方面的考虑代码业务逻辑的完整性,还要考虑以后的代码的维护成本以及代码的性能!以此看来,对底层原理性东西的掌握还是非常有必要的,于是,从今天我会学习一些底层原理,给自己的一个完整性的底层思维。该文章,将会持续更新.....

在我们学习底层语言之前,我们先来的了解一些必备的学习环境!越狱环境的搭建。

什么是iOS Jailbreak(越狱)?

    越狱就是:利用iOS系统的漏洞,获取iOS系统的最高权限(Root),解开之前的各种限制(合法行为)

1、越狱的优点:

   (1)打造个性化、与众不同的iPhone(插件、主题、App、系统App的默认行为)
   (2)自由安装非AppStore来源的App
   (3)灵活管理文件,让iPhone像U盘一样
   (4)为开发者提供了逆向工程环境

2、越狱的缺点:

    (1)不予保修、费电、不能及时更新
    (2)不在受iOS系统保护,容易收到攻击、个人隐私
    (3)系统容易变得不稳定,出现白苹果的状态。

我们知道了越狱的一些优缺点,那么iPhone又该如何越狱呢?
通常是使用:pp助手,http://jailbreak.25pp.com/
注意:要保证他们能进行完美越狱,否则会出现白苹果的情况

我们如何知道你的设备是否支持完美越狱呢?

检查手机是否支持越狱或者完美越狱:http://jailbreak.25pp.com/ios。

越狱查看图.png
  • 完美越狱
    能够正常开关机,且所装App能正常使用。
  • 非完美越狱
    1、能正常开机,但是部分软件不能使用
    2、不能正常重启,一直停留在重启的页面中,也就是所谓的‘白苹果’。

那么我们如何来辨别是否越狱成功?

  • 通过pp助手


    图片 1.png
  • 手机桌面是否有Crydia(越狱后的安装软件工具,类似AppStore)

图片 2.png
  • 代码判定(不同的iOS版本,判定方法会有所不同)
    1. 根据路径判定(我们知道越狱后,Cydia.app存在)

      图片 3.png

      根据不同的版本列出越狱后常见文件的不同路径:如下:

      /Applications/Cydia.app
      /Library/MobileSubstrate/MobileSubstrate.dylib
      /bin/bash
      /usr/sbin/sshd
      /etc/apt

      这个表可以尽可能的列出来,然后判定是否存在,只要有存在的就可以认为机器是越狱了。

  1. 判断cydia的URL scheme

    屏幕快照 2019-07-28 下午8.05.20.png
  2. 读取环境变量
    这个DYLD_INSERT_LIBRARIES环境变量,在非越狱的机器上应该是空,越狱的机器上基本都会有Library/MobileSubstrate/MobileSubstrate.dylib


    屏幕快照 2019-07-28 下午8.07.01.png

注意:关于如何使用代码判定是否越狱
请参考:https://www.cnblogs.com/Rong-Shengcom/p/6385375.html

以上就是越狱的具体的操作。
那么越狱后,该如何进行软件安装呢,那就用到我们之前提到的 Cydia

你可能感兴趣的:(一、底层语言的学习之越狱环境的搭建)