阅读此文前,请确保iOS设备已越狱,否则一切都是空谈!

1.环境安装

a.指定xcode(根据自己xcode路径来):

sudo xcode-select -s/Applications/Xcode.app/Contents/Developer
复制代码

b.下载Theos(export很重要):

export THEOS=/opt/theos sudo git clone git://github.com/theos/theos.git $THEOS
复制代码

c.下载ldid : http://joedj.net/ldid 然后复制到/opt/theos/bin 然后sudo chmod 777 /opt/theos/bin/ldid

d.配置CydiaSubstrate:

注意
新版本Theos请直接跳过 运行Theos自动化配置脚本 直接使用iFunBox提取CydiaSubstrate
复制代码

用iFunBox等iPhone上的工具,将iOS上/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate拷贝到电脑上 然后改名为libsubstrate.dylib , 然后拷贝到/opt/theos/lib 中.

e.配置dkpg

deb 是越狱开发安装包的标准格式,而 dpkg-deb 是操作 deb 文件的工具,有了这个工具,Theos 才能将工程正确地打包成 deb 包。
从[下载](https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl)下载dm.pl,将其重命名为 dpkg-deb 后(如果后缀名还是.pl,显示简介中可以修改),
放到 “/opt/theos/bin/“ 目录下,然后设置它的可执行权限:sudo chmod 777 /opt/theos/bin/dpkg-deb其实,Theos 已经是一个 tweak 的开发环境了,但是由于这里只是因为需要编译 tweak 而用到它,所以它的很多后续配置也没有详细讲解了。
复制代码

至此,我们的安装环境就搭建完了,下一步可以正式地开始安装 tweak 了。

2.Theos用法

输入
/opt/theos/bin/nic.pl
复制代码
NIC 2.0 - New Instance Creator
------------------------------[1.] iphone/activator_event[2.] iphone/application_modern[3.] iphone/cydget[4.] iphone/flipswitch_switch[5.] iphone/framework[6.] iphone/ios7_notification_center_widget[7.] iphone/library[8.] iphone/notification_center_widget[9.] iphone/preference_bundle_modern[10.] iphone/tool[11.] iphone/tweak[12.] iphone/xpc_service
Choose a Template (required):
复制代码

选择  [11.] iphone/tweak

Choose a Template (required): 11
Project Name (required): iOSREProject
Package Name [com.yourcompany.iosreproject]: com.yuhao.iosreproject
Author/Maintainer Name [yuhao]: sthyuhao
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: com.apple.springboard
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: SpringBoard
Instantiating iphone/tweak in iosreproject/...
Done.第一个相当于工程文件夹的名字
第二个相当于bundle id
第三个就是作者
第四个是作用对象的bundle identifier
第五个是要重启的应用复制代码

完成这几步之后,一个iosreproject文件夹就在当前目录生成了,该文件夹就是刚创建的tweak工程。

编写Tweak

%hook SpringBoard
-(void)applicationDidFinishLaunching:(id)application {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome"message:@"Welcome to your iPhone!"delegate:nilcancelButtonTitle:@"Thanks"otherButtonTitles:nil];
[alert show];
[alert release];
%orig;
}
%end
复制代码

为什么要release 因为Tweak默认编码方式是MRC 如果需要ARC的话 在MakeFile中插入TweakName_CFLAGS = -fobjc-arc

在Tweak注入之前需要先在终端执行

export THEOS=/opt/theos/
export THEOS_DEVICE_IP=xxx.xxx.xxx.xxx(手机的ip地址)
复制代码

3.构建工程

make package install
复制代码

过程会让你输入两次iphoen密码 , 默认是alpine

iOS逆向工具-Theos相关推荐

  1. ios逆向工具MonkeyDev简介

    MonkeyDev简介 虽然是美国的苹果开发的操作系统,但是要论越狱iPhone和逆向分析来说,那国内远胜于米国了,可能是国内很多相关的灰色产业链吧.在之前,我们想动态调试一个没有源码的应用程序,通常 ...

  2. ios逆向工具Class-dump的安装和导出.h文件的教程

    目录 官网文件安装方法 运行报错 Cannot find offset for address xxx in stringAtAddress: 解决运行报错的版本下载地址: 获取app文件 class ...

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

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

  4. iOS逆向实战与工具使用(微信添加好友自动确认)

    iOS逆向实战与工具使用(微信添加好友自动确认) 原文链接 源码地址 WeChatPlugin-iOS Mac OS 版微信小助手(远程控制.消息防撤回.自动回复.微信多开) 一.前言 本篇主要实现在 ...

  5. iOS逆向工程之Theos

    iOS逆向工程之Theos 如果你对iOS逆向工程有所了解,那么你对Tweak并不陌生.那么由Tweak我们又会引出Theos, 那么什么是Theos呢,简单一句话,Theos是一个越狱开发工具包,T ...

  6. iOS逆向 开发工具

    iOS逆向开发交流群 iOS逆向开发所需要的一些工具集合

  7. iOS逆向之脱壳工具creakerXI+,最简单、最适合新手的脱壳工具

    在学习iOS逆向中,脱壳是必备技能之一,在网上看教程有使用 Clutch 和 dumpdecrypted  但是,不知道 是我操作问题,还是手机版本,以及APP版本更新问题 尝试了几次,都无法成功脱壳 ...

  8. ios逆向越狱手机必备工具篇

    1.手机越狱 ps:越狱前用xcode调试手机断点一次.这样手机里就会生成以后debugServer文件. 手机版本ios12.4 https://www.abcydia.com/read-16031 ...

  9. java反编译工具_ReverseTool逆向工具集合

    反向工具 逆向工具集合 真棒骇客 Java和Jar(Android) jd-gui jar包浏览工具,对应的IDE插件,JD-Eclipse / JD-IntelliJ Luyten一个用于Procy ...

最新文章

  1. Python 之列表及相关练习题
  2. RichTextBox粘贴两次以及去掉粘贴内容的格式问题
  3. ECCV 2018 《Triplet Loss in Siamese Network for Object Tracking》论文笔记
  4. asp python 定时任务_Python定时任务轻量解决方案——Schedule
  5. html5自动旋转图片,HTML5画布旋转图片
  6. DeFi预言机Umbrella Network与BSC上去中心化杠杆交易协议WOWswap达成合作
  7. 几种JS倒计时代码 【转】
  8. 最新基于CentOS 5.5 ,集成lamp,lnmp终级安装版
  9. vue学习笔记—bootstrap+vue用户管理
  10. 初学者入门——NOI题库1.2
  11. cad一键卸载工具叫什么_CAD专用卸载修复工具,一键完全彻底卸载删除CAD软件的专用卸载工具...
  12. 图片批量转ico软件png批量转ico离线转换使用教程
  13. luogu P4234 最小差值生成树
  14. 数字证书包含哪些内容
  15. pstack 跟踪进程栈
  16. 澳大利亚大学着眼于不断增长的中国市场,将在迪拜推出全球奢侈品管理学位
  17. STC12驱动PCF8575
  18. 测试用例等级怎么划分?别再傻傻的一脸懵逼
  19. php开源堡垒机,开源堡垒机在开发环境中的使用方案-麒麟开源堡垒机
  20. python随机选择一个幸运观众_从十名观众中随机选取8名幸运观众,不能重复选取同一个观众为幸运观众(CPrimerPlus第十六章第五题)...

热门文章

  1. 多线程编译linux,linux下多线程下载工具axel的编译安装
  2. php中对数组进行转码,php实现转码的方式(支持数组类型转码)
  3. ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)
  4. WebStorm导入git.exe报错 Empty git --version output:
  5. C语言有好多7,[c语言]有1到100个数,现在从中提取7、和个位或十位上有7的数、以及7的倍数,然后输出。...
  6. linux mint 安装内核,使用Ukuu在Ubuntu/Linux Mint上安装Linux Kernel 5.0的方法
  7. php 类遍历,php数组遍历类与用法示例
  8. 在linux上安装redis
  9. 移除类名没有触发transition_epoll边缘触发模式
  10. 利用Python进行数据分析--数据聚合与分组运算