越狱开发整理文档(一)配置theos环境与第一个Demo

刚开始配置Theos环境的时候各种踩坑,装好了又卸载,各种问题,各种尝试之后总结出了一下的方法,也是收集各方大神的资料综合,做一个记录方便以后自己使用也分享给各位。

1.如果有多个Xcode选择一个Xcode路径,只有一个Xcode可忽略此步骤

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

2.下载Theos

export THEOS=/opt/theos   配置环境变量

sudo git clone git://github.com/DHowett/theos.git $THEOS  下载Theos

注:后面使用可能还需要更新Theos

3.下载ldid

http://joedj.net/ldid 

复制下载的ldid到/opt/theos/bin

sudo chmod 777 /opt/theos/bin/ldid  给ldid赋权限

4.配置CydiaSubstrate

用iFile连上iPhone,将iOS上

/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate

拷贝到电脑上然后改名为libsubstrate.dylib 

拷贝到/opt/theos/lib 中.

5.配置dkpg

sudo port install dpkg

如果是下载的dpkg-deb需要执行 sudo chmod 777 /opt/theos/bin/dpkg-deb  给dpkg-deb赋权限

二、创建Tweak工程

1.cd到某一个自己想要保存的文件夹执行下面语句

/opt/theos/bin/nic.pl

注:这里可能会报错出现Theos过期需要执行git指令,有提示,cd到these文件夹下,然后根据提示输入sudo git submodule update --init --recursive 【命令根据提示粘贴】执行完这句话再回到创建工程/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  【选择你想要构建的工程类型,这里选的Tweak】

Project Name (required): tweak  【工程名】

Package Name [com.yourcompany.tweak]: com.app.tweak 【包名,相当于bundleId】

Author/Maintainer Name [apple2015]: bean 【作者】

[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: com.apple.spingboard 

[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: SpringBoard

Instantiating iphone/tweak in tweak/...

Done.

工程目录

2.修改Makefile

THEOS_DEVICE_IP = 192.168.1.128 【iP改成自己手机的iP,手机和电脑必须在同一wifi下】

ARCHS = armv7 arm64

include $(THEOS)/makefiles/common.mk

TWEAK_NAME = tweak

tweak_FILES = Tweak.xm  【tweak这里的名字是工程名】

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::

install.exec "killall -9 SpringBoard"

3.修改Tweak.xm

#import <UIKit/UIKit.h>

#import <SpringBoard/SpringBoard.h>

%hook SpringBoard

-(void)applicationDidFinishLaunching:(id)application {

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome"

message:@"First Blood"

delegate:nil

cancelButtonTitle:@"OK"

otherButtonTitles:nil];

[alert show];

%orig;

}

%end

注:这里代码的意思是勾出springboard的初始化方法。

之所以勾springboard是因为它是越狱手机一直在后台运行的东西。

4.配置环境变量

export THEOS=/opt/theos/

export THEOS_DEVICE_IP=192.168.1.128 【手机的ip地址】

注:在之后执行make package install命令中出现了tool.mk notfound 或者xx.mk notfound就需要配置这个东西了。

5.打包安装工程到手机

cd 到有makeFile的文件路径下

make package install 

也可以分解步骤一步一步走

make

make package

make install

注:如果出现错误,一个可能是刚刚第4步提到的错误,还有一个就是第1步提到的错误,进行相应的修改即可

这里还会提示你输入两次密码,如果手机没有设置过密码的话,就是初始的密码:alpine

执行完成你就等着手机重新加载,然后露出你得意的微笑。

三、小总结

1.如果你安装完成之后发现/opt/theos/vendor/这里面是空的,就说明需要执行第二步骤的第1步注意事项;

2.如果你发现make成功之后还想make 发现报了Nothing to be done for `internal-library-compile,那就把你刚才创建出来的obj删掉和packages删掉 , 然后显示隐藏文件, 你就会发现和obj同一个目录有一个.theos , 吧.theos里面的东西删掉就好了

或者最狠的就是重新开始工程,或者make clean

3.有正向经验的小伙伴可以简单理解为makefile相当于plist文件,Tweak.xm相当于要写代码的工程。


四、开启你的逆向之路吧!!!

注:以上提到的文件如需要下载的可以用我的github下载,好用的话给个start吧。

https://github.com/BeanMan/tweakPackage


参考文章:http://blog.csdn.net/app_ios/article/details/52596230

http://www.jianshu.com/p/3c1d71c880ca


站在巨人的肩膀上才有这些总结

菜鸟走向大牛,大家共同前进,如果觉得不错,请给个赞/关注。

一起交流学习,有问题随时欢迎联系,邮箱:383708669@qq.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容