文档章节

ios插件开发-theos环境搭建

余成海
 余成海
发布于 2016/02/22 14:25
字数 642
阅读 4372
收藏 0

theos 是ios在越狱环境下,开发的工程管理工具 https://github.com/DHowett/theos

下面分享下环境搭建过程:

  1. 给xcode安装 command line tools

    从10.8开始xcode的command line tools就要自己安装了,如果没安装的话,会出现各种问题,比如gcc没有安装,等等各种诡异的问题。新手很是害怕。

    https://developer.apple.com/downloads/?=Command%20Line%20Tools%20 

  2. 安装 macports 

    macports是用于安装dpkg的快速安装工具,还可以安装其他很多工具

    http://distfiles.macports.org/MacPorts 

  3. 设置配置

export THEOS=/opt/theos

   4.下载theos

sudo git clone https://github.com/moloch--/theos.git $THEOS

   5.安装dpkg

sudo port install dpkg

6. 下载 https://github.com/kokoabim/iOSOpenDev

7.下载的iOSOpenDev/lib  拷贝到 /opt/theos/lib 

8.下载的iOSOpenDev/include 拷贝到 /opt/theos/include

9.下载的iOSOpenDev/bin 拷贝到 /opt/theos/bin

 

环境基本完成,如果需要hook一些特殊的头文件,自己可以使用class_dump_z解析出来放到header里面,也可以在google中找

---------------------------------------------------凌乱的分割线------------------------------------------

1.创建工程

$THEOS/bin/nic.pl

NIC 1.0 - New Instance Creator —————————— 
[1.] iphone/application   
[2.] iphone/library   
[3.] iphone/preference_bundle   
[4.] iphone/tool   
[5.] iphone/tweak 
Choose a Template (required): 5
选择com.apple.springboard开发桌面插件

2.创建成功后,在工程目录下,修改MakeFile 修改头部第一行

export ARCHS = armv7
export TARGET=iphone:latest:5.1
include $(THEOS)/makefiles/common.mk

3.编写TWeak.xm文件代码

%hook SBScreenShotter 

- (void)saveScreenshot:(BOOL)screenshot { 
	%orig; 
 	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" message:@"Welcome to your iPhone love" delegate:nil cancelButtonTitle:@"okokok" otherButtonTitles:nil];
	[alert show]; 
	[alert release];
 } 

 %end
%hook后面跟的是你要hook的类名称,以一个%end结尾。上面的代码说明我们会hook Springboard类里面的method。
%orig
当在一个method内部的时候,%orig会调用原来的方法(original method)。你甚至可以给原来的method传递参数,例如:%orig(arg1,arg2)。如果你不调用%orig,原来的方法就绝对不会被调用。所以,如果你hook了SpringBoard的init方法,但是没有调用%orig。那么你的iphone就将不可用,除非你通过ssh删除你的app。

  上面代码的作用就是在桌面截屏的时候弹出一个对话框!,当然,如果你不知道的想要hook的函数是什么的话,请使用各种分析工具获得!,可以看上面几篇文章

4.增加frameWork

那是因为我们依靠UIKit framework来显示alert,所以需要在Makefile中加上如下一行:
WelcomeWagon_FRAMEWORKS = UIKit

5.打包

   cd到工程目录下,make,make成功后,使用

   设置配置安装

export THEOS_DEVICE_IP=10.242.125.7 (这是手机的IP)
make package install

 

 

© 著作权归作者所有

共有 人打赏支持
余成海
粉丝 61
博文 57
码字总数 29577
作品 0
杭州
iOS工程师
iOS逆向工程- 学习整理(工具详解)

前言 一、逆向工程的要求 具备丰富的 iOS 开发经验 最好能非常熟悉 iOS 设备的硬件构成,iOS 系统的运行原理。 拿到任意一个 App 之后能够大致推断出它的项目规模和使用的技术,比如它的MVC模...

_小迷糊
05/11
0
0
THEOS/bin/nic.pl: No such file or directory

iOS逆向的时候,创建 Theos 工程时按照网上教程遇到 THEOS/bin/nic.pl: No such file or directory问题。 解决方法: theos 安装在哪里,找到nic.pl文件,直接拖入 terminal ,按回车就可以了...

xyzcwb
09/12
0
0
React Native SDK for OSS

此文主要介绍 React Native SDK for OSS的方方面面,包括相关基本概念、项目背景、项目方案、环境搭建运行、使用姿势、注意事项等。文末的附件可运行Example Zip压缩包和针对新手的入门实用文...

zuozhao
05/18
0
0
iOS逆向与安全(一):环境搭建

前言 从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。 前期准备 一台越狱...

紫电清霜Owenli
09/16
0
0
OGEngine v2.1.1 Mac开发环境搭建

OGEngine v2.1.1 Mac开发环境搭建 OGEngine v2.1.1拓展了iOS平台的支持,我们现在来搭建下开发环境。注意,由于iOS版本的编译开发必须在Mac系统上,所以我们的部署也是在Mac环境下进行的。 ...

橙游OrangeGame
2014/09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可爱的python测试开发库(python测试开发工具库汇总)

欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装。 链接 selenium - web UI自动化测试。 链...

python测试开发人工智能安全
今天
2
0
Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部