http://bbs.pediy.com/showthread.php?t=212425

标题: 【翻译】手把手安装最新版Theos.2016.08
作者: roysue
时间: 2016-08-26,17:00:25
链接: http://bbs.pediy.com/showthread.php?t=212425

Theos最初由DHowett进行开发,由于DHwoett去了微软,不再有时间维护了,所以Adam Demasi(kirb)接手了他的工作,并且添加了很多全新的功能。所以,之前书上《iOS App Reverse Engineering》讲的安装方法已经不再适用,现在我们来讲一下最新的安装方法。

Ox.01 安装dpkg和ldid


Dpkg是Debian的软件包。
Ldid是越狱祖师爷Saurik开发的一款二进制授权管理软件,可以对越狱应用进行SHA1运算生成授权,让软件包可以在iPhone上执行。
在这里我们使用Homebrew来安装他们。Homebrew是一款Mac上的基于Ruby的包管理器,可以理解为与Yum、Apt、Pecman类似即可。
用Homebrew安装上述软件仅需一句话:

代码:

brew install dpkg ldid

如果没有安装Homebrew,那么安装它也仅仅只需要一句话(可能需要VPN环境,github最近越来越不稳定也是众所周知的事情):

代码:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


Ox.02 安装Thoes


之前我们把Theos安装在/opt/theos,现在我们还是安装在这个文件夹。

代码:

sudo git clone --recursive https://github.com/theos/theos.git /opt/theos

然后把/opt/theos的权限改成你自己:

代码:

sudo chown $(id -u):$(id -g) /opt/theos

最后这一步也很重要,要把theos的执行路径加入到环境变量之中,在~./bash_profile中加上这么两句:

代码:

export THEOS=/opt/theos
export PATH=/opt/theos/bin/:$PATH

最终~./bash_profile会长这样:



 
Ox.03 测试是否安装成功


Cd到任意可执行目录,执行:

代码:

nic.pl

New Instance Creator开始执行则已经安装成功。

 

0x.04 从旧款Theos升级到最新版


直接上代码:

代码:

git submodule update -recursive

记得加入递归(-recursive)选项。是不是比原来的简单多了?

0x.05 注意事项


1、如果~目录下没有bash_profile,那么可以新建一个,Mac OS属于类Unix系统,~./bash_profile的功能与Linux下相同。

2、旧版的安装方法中,有这么一句话:sudo /opt/theos/bin/bootstrap.sh substrate,新版中已经去除了bootstrap引导,直接跳过即可。

参考链接:
https://github.com/theos/theos/wiki/Installation
http://stackoverflow.com/questions/1030169/easy-way-pull-latest-of-all-submodules

原文:
http://bbs.iosre.com/t/tutorial-install-the-latest-theos-step-by-step/2753/10

*转载请注明来自看雪论坛@PEdiy.com

最近看看书的时候,刚好碰到这个问题,虽然在iOS逆向论坛看到了此问题的解决办法,无奈洋文不是很好,只能参考这篇文章了,谢谢原作者的翻译。

最新版Theos.2016.08的安装方法的更多相关文章

  1. SQL Server 2016 特性和安装方法

    SQL Server 2016 特性: 全程加密技术(Always Encrypted),动态数据屏蔽(Dynamic Data Masking),JSON支持,多TempDB数据库文件,PolyBa ...

  2. ios-逆向 手把手安装最新版Theos

      Theos.最初由DHowett进行开发,由于DHwoett去了微软,不再有时间维护了,所以Adam Demasi(kirb)接手了他的工作,并且添加了很多全新的功能.所以,之前书上<iOS ...

  3. 2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法

    现在的cocoapods与之前比较.有很多不一样的地方.自己试了一试,终于搞定.现在大概纪录一下. 1.首先查看ruby是否是最新版的. ruby是通过rvm安装的所以需要先安装rvm后查看ruby是 ...

  4. 2016最新CocoaPods安装和错误解决 + 自己的经验

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Times; color: #333333; background-color: #fffff ...

  5. office 2016 专业增强版 和 visio 2016 专业版 下载安装(附带激活工

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://babyshen.blog.51cto.com/8405584/1697910 o ...

  6. Android SDK 离线安装方法

    有朋友反映从连接直接下载安装包不能获取到最新版本(每次更新后的包地址需要重新去查找),而且经常无法访问. 最方便的方法是使用代理或vpn接入网络,即可及时下载最新版sdk. 作为一名开发人员,流畅地浏 ...

  7. linux下的ImageMagick安装方法

     linux下的ImageMagick安装方法  由于没有图形化界面的支持,在Linux(CentOS 6.4 x64)上的配置相对Windows XP还是麻烦了一点.   1.下载ImageMagi ...

  8. Pro/Engineer wildfire 5.0 野火版系列下载及安装方法

    三.PTC Pro/Engineer wildfire 5.0 M030 野火版最新版 DVD 下载(多国语言) 1.野火下载站下载32&64位下载:[32位] http://down.pro ...

  9. 离线Chrome插件安装文件(crx)的安装方法

    离线Chrome插件安装文件(crx)的安装方法 一.正常安装方法 1.开发谷歌浏览器,设置->扩展程序 在打开的谷歌浏览器的扩展管理器中用户可以看到一些已经安装程序的Chrome插件,或者一个 ...

随机推荐

  1. 剑指 Offer 32 - III. 从上到下打印二叉树 III + 双端队列使用 + 蛇形打印层次遍历序列 + 正倒序输出

    剑指 Offer 32 - III. 从上到下打印二叉树 III Offer_32_3 题目详情 题解分析 本题我想的比较复杂,其实题目的要求只是需要遍历的结果逆序和正序交替,这个其实可以使用Coll ...

  2. Java 多线程 01

    多线程· Runnable 和 Thread 多线程的引入 * A:什么是线程 * 线程是程序执行的一条路径,一个进程中可以包含多条线程 * 多线程并发执行可以提高程序的效率,可以同时完成多项工作 * ...

  3. 2020年12月-第02阶段-前端基础-CSS Day02

    CSS Day02 复合选择器 后代选择器 并集选择器 1. CSS复合选择器 理解 理解css复合选择器分别的应用场景 为什么要学习css复合选择器 CSS选择器分为 基础选择器 和 复合选择器 , ...

  4. 【Arduino学习笔记04】消抖动的按键切换

    "开关抖动": 由于按键是基于弹簧-阻尼系统的机械部件,所以当按下一个按键时,读到的信号并不是从低到高,而是在高低电平之间跳动几毫秒之后才最终稳定. 代码解读: 1 const i ...

  5. RFC2544吞吐量测试详细步骤-MiniSMB-HurricaneII软件操作演示

    RFC2544吞吐量测试详细步骤-MiniSMB-HurricaneII软件操作演示 关键词:网络性能测试:RFC2544:吞吐量:吞吐率. RFC2544协议是RFC组织提出的用于评测网络互联设备( ...

  6. Windows系统添加虚拟串口及CanToolApp功能1的实现

    项目开始尝试用com0com添加虚拟串口,但是遇到了问题,系统中可以看到添加的虚拟串口,但是用C#无法获取串口.经过多次尝试后,决定换用Virtual Serial Port Driver添加虚拟串口 ...

  7. POJ_2828 Buy Tickets 【线段树】

    一.题目 Buy Tickets 二.分析 首先可以明确的是每个人的位置都是定的,那么如果从输入数据从后往前看,最后面的人进来的时候,他前面的人数肯定是定的. 那么可以考虑,当从后往前推时,这个人插入 ...

  8. 一种借助POI粗略的标注城市也许重要的区域的方法

    第一部分 很久以前,我住在村子里,因为村子小,所以对村子的一草一木都很熟悉,在熟悉的环境里就很有安全感. 后来我到了大城市,却发现城市太大了,一辈子都熟悉不完. 这个城市的绝大部分地方我都没有去过,就 ...

  9. C# 获取网页信息

    获取网页源码 ///通过HttpWebResponse public string GetUrlHtml(string url) { string strHtml = string.Empty; Ht ...

  10. Java8 Stream 中 List 转 Map 问题总结

    在使用 Java 的新特性 Collectors.toMap() 将 List 转换为 Map 时存在一些不容易发现的问题,这里总结一下备查. 空指针风险 java.lang.NullPointerE ...