个人原创,转帖请注明来源:cnblogs.com/jailbreaker

前面讲到使用 [iOS越狱开发 之七]使用iOSOpenDev开发SpringBoard的Tweat,非常易用,但必须知道实质还是依靠Theos来创建,所以必须学会用Theos直接创建Tweat。

首先,通过theos/bin/nic.pl生成一个Tweat项目,步骤如下:

1.设置环境变量    export THEOS=/opt/theos

2.终端cd进入打算保存项目的文件夹

3.创建工程,终端输入 $THEOS/bin/nic.pl 此时会看到如下信息,进行配置。

Choose a Template (required): 5 //我们选择第5个,也就是tweak项目

Project Name (required): myTweatByTheos  //项目名称

Package Name [com.yourcompany.mytweatbytheos]:  //项目的bundle 标识

Author/Maintainer Name [hf]:  //作者

[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]:  //Tweat的hook对象

[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]:  //安装完需要重启的app

通过nic.pl创建工程默认是有5种类型,另外可以下载https://codeload.github.com/DHowett/theos-nic-templates/zip/master.zip 解压出5个.tar保存至$THEOS/templates/iphone目录下,总要一共就有10种类型。

执行完毕生成项目:

项目下的Tweak.xm ,就是我们输入hook代码的文件,现在的.xm内部现已经存有代码模版了。把之前帖子里iOSOpenDev生成的Tweat项目中.xm的内容复制过来。再把iOSOpenDev目录下lib目录中的libsubstrate.dylib 以及 include 目录下的substrate.h 分别复制到Theos目录下的lib和include中去。

打开makefile文件,因为我们要使用UIKit库,增加一行代码 myTweatByTheos_FRAMEWORKS = UIKit,见图

makefile的其他设置参考http://uv.howett.net/ipf.html

还有个control文件,其中得字段详细资料可以看http://www.debian.org/doc/debian-policy/ch-controlfields.html

再来看一下plist文件,其中Bundles有项目item0 就是需要我们tweat针对的,或者说需要起作用的目标bundle。

plist还可以配置Classes,和Executables。分别针对类和可执行文件起作用。注意下,Filter下有个Mode,可以设置为Any,作用是,让Filter的3组目标项均可以实现单独满足条件。

终端 make 编译下,如果没有error接着使用make package打包deb,makefile的设置还是比较多的,比如如果机子里有n个sdk,也可以指定sdk,还可以指定你的iOS设备的ip地址,打包后通过 make install安装。

转载于:https://www.cnblogs.com/jailbreaker/p/4149456.html

iOS安全攻防(九)使用Theos开发SpringBoard的Tweat相关推荐

  1. iOS安全攻防(九)使用iOSOpenDev开发SpringBoard的Tweat

    个人原创,转帖请注明来源:http://blog.csdn.net/jailbreaker 前面讲到使用 ,使用iOSOpenDev开发SpringBoard的Tweat,非常易用,但必须知道实质还是 ...

  2. iOS逆向小知识:使用Theos开发插件

    文章目录 前言 I 工程目录文件介绍 1.1 control文件 1.2 plist文件 1.3 Makefile文件 1.4 Tweak.xm 1.5 编译和安装deb 1.6 免输密码进行SSH ...

  3. iOS逆向之深入解析如何使用Theos开发插件

    一.Logos 语法 Logos 作为 Theos 开发组件的一部分,通过一组特殊的预处理指令,可以让编写函数钩子(hook)代码变得非常简单和清晰,Logos 是随着 Theos 发布的. %hoo ...

  4. iOS Hacker 使用Theos开发tweak

    iOS Hacker 使用Theos开发tweak mkdir /opt export THEOS=/opt/theos sudo git clone git://github.com/DHowett ...

  5. IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法...

    IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法 Author:hmjiangqq Email:jiangqqlmj@163.com ...

  6. iOS安全攻防(二十三):Objective-C代码混淆

    iOS安全攻防(二十三):Objective-C代码混淆 class-dump可以很方便的导出程序头文件,不仅让攻击者了解了程序结构方便逆向,还让着急赶进度时写出的欠完善的程序给同行留下笑柄. 所以, ...

  7. iOS安全攻防-李文瀚-专题视频课程

    iOS安全攻防-343人已学习 课程介绍          关于iOS应用开发的安全,这块内容可无限的深入和延展 1.苹果的签名机制 2.代码注入的原理 3.HOOK的原理剖析 4.防护进阶 所有的防 ...

  8. 一个Java开发h5牌九棋牌网站开发细节

    今天我们一起来做个简单有趣的实验.熟悉Java的童鞋,对h5牌九棋牌网站开发(Q1687054422)前往h5.fanshubbs.com类应该不陌生.不记得的童鞋,先回忆下. 实验一 我们先看下下面 ...

  9. unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发

    unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发.完整的源码可直接运营.拿来学习研究和二次开发都很不错. 源码下载 unity3D埃及探险游戏源码C#语言开发.完 ...

最新文章

  1. 互联网协议 — TCP — 流量控制(网络质量保障)
  2. JavaScript中this详解
  3. Android_2.2_eclips_Bundle简单传参demo
  4. Django的文件下载
  5. 微服务技术栈:API网关中心,落地实现方案
  6. php ajax简单实例代码,Ajax的简单实用实例代码
  7. Mosquito的优化——其他优化(九)
  8. 程序员很少加班?得全栈开发者得天下?撕开标签的技术圈真实模样
  9. hdu 1059 (多重背包) Dividing
  10. java开发工程师面试问题大全及答案大全
  11. 工作模板-----MySQL示例
  12. Android OTA 差分包制作
  13. php控制梯形图,如何画梯形图? plc梯形图怎么画?如何画plc梯形图
  14. (PTA)数据结构(作业)4、链表
  15. JAVA核心编程之集合
  16. 百度charts_NBA Shot Charts:更新
  17. HBuilder X 初体验
  18. 【转载】NetLogic买断多核芯片公司RMI
  19. 10年期国债利率笔记
  20. android 自定义progressbar demo,Android自定义View――动态ProgressBar之模仿360加速球

热门文章

  1. 【故障•监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe
  2. 数学术语——内积(inner product)
  3. 从邮箱到云客服,SaaS行业发展到哪种程度了?
  4. 利用html完成简单的登录网站页面
  5. 构建静态页面 之 [ 浮动 ]
  6. Flutter的基础知识之Dart语法
  7. 第十届蓝桥杯C/C++ B组决赛
  8. 郑州大学大学计算机基础实验报告书答案,最新郑州大学计算机考试模拟题目.doc...
  9. 少儿编程电子学会图形化scratch编程等级考试四级真题答案解析(选择题)2021-3
  10. IE6 IE7 并存