之前开发了一个对安全性要求比较高的APP,所以对安全、逆向和反编译有了一些认识,最近有时间就想系统的把这些知识做一个整理。今天就开始把我的学习过程记录下来。

iOS越狱环境搭建

在学习iOS越狱之前,我们当然需要一台iOS设备,由于现在基本上都是64位系统为主,所以最好是使用ARM64架构的设备,因此首先我们的手机至少需要iPhone5S或者之后的iPhone设备,平板至少是iPad Air、iPad mini2以及之后的产品。其次设备的系统至少需要iOS8越狱,版本不要太高,最好是完美越狱。目前我手头使用的是一台完美越狱的iPhone6(iOS8系统), 所以后面的文章都用这台设备为例介绍相关知识。

1、怎么判断设备是否可以越狱呢?

我们可以到这个网站http://jailbreak.25pp.com/ios上面,选择对应的设备和系统,查看是否可以越狱。

2、怎么进行越狱

同样的我们可以在上面的网站看到越狱教程,按照教程操作就可以,推荐使用PP助手。

3、iOS越狱介绍

iOS越狱(Jailbreak)是利用iOS系统的漏洞,获取iOS系统的最高权限,解开之前的各种限制。

iOS设备越狱后,我们可以获得下面功能。

  • 打造个性化、与众不同的iPhone

    例如自由安装各种实用的插件、主题、APP,修改系统APP的一些默认行为。

  • 自由安装非AppSore来源的APP

    例如通过PP助手下载App,“付费APP”秒变“免费APP”。

  • 灵活管理文件系统,让iPhone可以像U盘那样灵活

  • 给开发者提供了逆向工程的环境

当然,越狱后的设备也会有一些不好的地方。

  • 不予保修

  • 费电,越狱后的iOS系统会常驻一些进程,耗电速度约提升10%~20%

  • 在新的iOS固件版本出来的时候,不能及时地进行更新

    由于每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失效。如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本。

  • 不再受iOS系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险

  • 如果安装了不稳定的插件,容易让系统变得不稳定、变慢,甚至出现“白苹果”等问题

iPhone越狱成功后,手机桌面会有Cydia,这就是越狱成功的标志,当然也可以将手机连上PP助手查看越狱状态。

4、完美越狱和不完美越狱的区别

完美越狱后,越狱后的iPhone可以正常关机和重启。如果是不完美越狱,iPhone一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态。

一般说来,在苹果发布新的iOS固件后,针对该固件的不完美越狱会先发布,随后完美越狱才可能发布,一般较新的系统版本,均为不完美越狱。为了学习时方便,建议将设备进行完美越狱。

5、Cydia介绍

Cydia可以认为是越狱后的“App Store”,可以在Cydia中安装各种第三方的软件(插件、补丁、APP),它的作者是Jay Freeman (saurik)。

我们可以通过Cydia添加软件源,然后在软件源中找到相应的软件进行安装。有时候通过Cydia安装完插件后,可能需要重启SpringBoard或者重启手机,SpringBoard指的是手机桌面。

6、建议安装的插件(最好按照下面的顺序安装)

手机上的插件

  • Apple File Conduit "2"

    这个插件的软件源是http://apt.saurik.com或者http://apt.25pp.com,作用是可以访问整个iOS设备的文件系统,类似的补丁还有:afc2、afc2add。当然只要安装这一个就可以了。

  • AppSync Unified

    这个插件的软件源是http://apt.25pp.com,作用是可以绕过系统验证,随意安装、运行破解的ipa安装包。

  • iFile

    这个插件的软件源是http://apt.thebigboss.org/repofiles/cydia,作用是可以在iPhone上自由访问iOS文件系统,类似的还有Filza File Manager、File Browser。

    这里需要说明一点的是,我在安装这个插件时怎么都安装不上,最后的解决方法如下。

    通常情况下,通过Cydia安装的安装包是deb格式的(结合软件包管理工具apt),通过PP助手安装的安装包是ipa格式的。如果通过Cydia源安装deb失败,可以先从网上下载deb格式的安装包(例如这里的iFile2.2.0-1.zip),然后将deb安装包放到/var/root/Media/Cydia/AutoInstall,重启手机,Cydia就会自动安装deb。

  • PP助手

    这个插件的软件源是http://apt.25pp.com/,作用是可以自由安装海量APP。

Mac上的软件

  • iFunBox

    作用是管理iPhone上的文件系统。

  • PP助手

    作用是自由安装海量APP、卸载APP、备份APP为ipa安装包(iOS9开始,不再支持备份APP)。

7、一些方便的工具(非必要,只是知识开发起来更方便)

  • XtraFinder

    增强型Finder

  • iTerm2

    完爆Terminal的命令行工具

  • Go2Shell

    从Finder快速定位到命令行工具

IOS安全、逆向、反编译1-越狱知识讲解相关推荐

  1. 2020年 IOS 逆向 反编译 注入修改游戏或APP的调用参数新手系列教程——使用theos tweak 注入hook修改游戏执行代码上传动态头像

    2020年 IOS 逆向 反编译 注入修改游戏或APP的调用参数新手系列教程--使用theos tweak 注入hook修改游戏执行代码上传动态头像 开篇 需求&最终效果 环境要求与即将使用的 ...

  2. NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具

    NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具 NP管理器 NPManager 安卓反编译工具,NP管理器是一款强大的安卓反编译或反汇编工具,虽然这个NPManager反编译 ...

  3. vue打包代码反编译_Android逆向反编译代码注入APK过程思路分析

    一.名称解释 逆向 - 是一种产品设计技术再现过程,从可运行的程序系统出发,运用解 密.反汇编.系统分析等多种计算机技术,对软件的结构.流程.算法. 代码等进行逆向拆解和分析,推导出软件产品的源代码. ...

  4. android将彩图转为黑白_Android逆向反编译代码注入APK过程思路分析

    一.名称解释 逆向 - 是一种产品设计技术再现过程,从可运行的程序系统出发,运用解 密.反汇编.系统分析等多种计算机技术,对软件的结构.流程.算法. 代码等进行逆向拆解和分析,推导出软件产品的源代码. ...

  5. C++程序正向编译逆向反编译(一)

    1.需求 逆向工程师必须先是一个正向开发工程师,如果没有C++/MFC的开发经验,就不会懂得如何逆向分析C++/MFC的程序,本文完成一个helloworld的C++正逆向过程. 2.C++程序源码 ...

  6. 逆向反编译APK失败总结

    最近接到项目新需求,需要逆向APK,由于第一次逆向先做个笔记记录一下踩过的坑 百度了一下逆向所需工具于是下载了Androidkiller apktool等工具...本次测试采用微信apk Androi ...

  7. Android逆向反编译之工具介绍

    傻瓜式操作图形化工具 Smali2JavaUI smali2java是一个将smali代码反编译成java代码的工具.什么是smali?smali是将Android字节码用可阅读的字符串形式表现出来的 ...

  8. 反编译工具(2)——推荐.Net、C# 逆向反编译四大工具利器

    在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决.或者由于电脑挂了.旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重 ...

  9. iOS - 用Hopper反编译 Nike+ 二进制文件

    用Hopper反编译iOS App二进制文件,IPA里的二进制文件经过Hopper反编译后,能可视化文件的结构,存储的敏感信息如果以字符串常量写在程序中则会暴露无疑. 从 iTunes 的App St ...

最新文章

  1. 个人作业-Alpha项目测试
  2. DV型、OV型、EV型三种SSL证书 区别
  3. mongodb 1安装,开启
  4. 数据可视化模板_10分钟,做一份数据可视化分析报表
  5. OpenCV序列中创建矩阵cv :: Mat的实例(附完整代码)
  6. 第3章:分布式文件系统 HDFS
  7. 恕我直言,你可能误解了微服务
  8. Oracle ITL(Interested Transaction List)理解
  9. 什么是「数独」,简单介绍
  10. 【秋招总结】分享我的社招java岗经验,以及我的大厂offer比较(京东网易滴滴,天津农行软开)
  11. 亚马逊美国站店铺fbm自发货流程是什么?亚马逊美国站店铺fbm如何做起来?
  12. 如何让自己成为一个优秀的Java架构师,而不是码农
  13. 从零开始免费搭建自己的博客(七)——迁移 CSDN 博客到个人博客站点
  14. aes hex 加密
  15. ntext字段的替换处理示例--全表替换
  16. VS2015远程调试
  17. SAP 成本结算中 费用分割的理解和用法
  18. 微信小程序halfScreenDialog的实现
  19. 基于RHEL8的Linux基础入门学习总结笔记(附示例代码)
  20. i5 1135g7和i7 1165g7区别 i51135g7和i71165g7对比差多少

热门文章

  1. 推荐一款自动生成财务报表分析的软件
  2. 【总结】PHP常见面试题汇总(四)。。。
  3. 华为南京研究所机考练习-亮着电灯的盏数
  4. nginx图片文件服务器,nginx 图片链接 文件服务器
  5. vc++ RTSP客户端(附源码)
  6. 明明姓“虎”,偏说自己是“猫”,这个奇葩的姓氏你听过吗?
  7. LeetCode202 快乐数
  8. Redis面试题(2022版)
  9. 案例:登录中输入验证码(Session及JSP技术应用)
  10. 前端之H5新特性Web Worker