iOS逆向开发第二章-建立Tweak工程

建立tweak工程,最重要的就是配置theos。

这里插一段话,上一章讲了从无到用usbmuxd连接越狱手机,网上普遍文档是直接 ssh root@ip的 然后tweak的配置也是直接传到这个ip,而一部分讲的是usbmuxd用USB线连接越狱手机  然而,我遇到的困难是 ssh root@ip 无法直接连接到手机,也不是错误,就是无反应,哪怕有个错误也好,开一整晚都无反应,而用 ping ip 得到的是连接正常,关于这个问题请教过很多人,也包括大牛,都无法解决,所以这里后续会补充 如何在USB连接情况下 ssh传输数据给手机,这步也是卡了我这10天节奏的主要原因,我就一菜鸟,希望把我这一步一步东西,都分享给大家,我知道自己摸索有多麻烦,我也是直接摸索过来的。

首先,安装theos。

这里首先要注意路径问题,一开始不懂,自己在/opt/下建立了一个theos文件夹,后来没办法 用 rm -rf /opt/theos 删除重新安装,不然后面很多配置问题不能和网上对应,开始初学还是尽量都跟着主流教程走。

在命令行 输入1、 export THEOS=/opt/theos  2、sudo git clone git://github.com/DHowett/theos.git $THEOS

这时候使用  /opt/theos/bin/nic.pl (这句话是可以打开tweak模板)

如果出现这个错误

[error] Cowardly refusing to make a project inside $THEOS (/opt/theos/)

这个需要修改.bash_profile文件就在路径~下 没有的自己建立就好 ‘.’表示隐藏文件 手动mac下不让建立  可以用touch 命令建立  然后用vi 在里面添加

export THEOS=/opt/theos

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

这两句话 这个就是路径问题  之所以上面说我自己建立了个theos文件夹 然后里面再装theos 我修改这里 为/opt/theos/theos 作用无效 不知道哪里有问题,为了避免扯太多麻烦,初学阶段暂不研究,就重装了theos。

然后输入/opt/theos/bin/nic.pl

这个时候应该就可以了  能够出现

theos模板

这个时候就说明theos安装成功  我们选择11,网上大多还是5,有点过时,可能你们装的时候也不是11了,注意选择tweak就好

然后填写一些东西,什么bundle 组织名 作者 就是最后一条要注意,是安装完成后需要重启的应用,以进程名表示

项目填写

cd到工程目录下 先用 命令 make 一下 我的理解 应该是编译的意思,

Makefile:1: theos/makefiles/common.mk: No such file or directory

Makefile:7: /framework.mk: No such file or directory

make: *** No rule to make target `/framework.mk'.Stop.

如果出现如上错误 使用 ln -sf $THEOS 重新使用make

这时候错误变成

==> Error:The vendor/include and/or vendor/lib directories are missing. Please run `git submodule update --init --recursive` in your Theos directory. More information: https://github.com/theos/theos/wiki/Installation.

make: *** [before-all] Error 1

说的很明白 让我们运行git submodule update --init --recursive这句话 ,都不用google了 这时候回到 theos目录下 使用sudo git submodule update --init --recursive 注意加上sudo 这里有权限问题

然后再回到项目里面 使用make 这时候编译很顺利 

theos编译成功

不要注意yueyu两个字  这个tweak我来来回回建了3 4个吧 名字不重要

这时候需要安装ldid,签名用的,这块我本来想理一下再发,还是先发一下吧  不然万一影响安装就抱歉了

首先直接输入 ldid

应该是直接输入ldid  但我记得好像还下过一个ldid的包,不是很记得有没有影响,如果有影响,可以私聊我,把这个包发你们。

应该是有影响的,你们可以自行网上下载个ldid 或者找我要一个,网上大多需要把ldid这个bin文件拷贝到/usr/bin目录下 但是mac这个文件夹权限不开放,不管用什么命令都无法将文件拷到这个目录下,这个很气啊,然后网上说可以/usr/local/bin用这个路径代替/usr/bin路径 因为会先从/usr/local/bin目录加载 然后再加载/usr/bin目录  不清楚是不是这个说法 

sudo cp /Users/pro_cookie/Downloads/ldid /usr/local/bin

然后使用这句 将文件拷贝到了 /usr/local/bin目录

这样就算配置成功了  后来发现 我好蠢啊  好像使用brew install ldid就可以搞定这个 brew是个命令行安装工具的神器  没有的赶紧自行安装 别问我  因为我忘了 这个brew使用起来感觉和pip pod这些一样  很简单  另外提一点 网上很多N年前的版本  当时使用的命令是apt-get 等同于 brew  我之前很蠢  不明白  然后想安装个apt-get 安装死我了  后来因为好像验证还是什么证书问题 反正好像现在装不了了  大家都说用brew代替了这个apt-get

好了  这个时候ldid也装好了  回到我们的工程来

使用cat 命令可以直接看文件内容,很好的命令

然后 说明一下 makefile文件是配置一些版本信息的  我给大家看一下我成功的配置


makefile配置 


这里需要说明的,就是开头提到的USB连接方式ssh传输数据,网上有的是THEOS_DEVICE_IP = xxx.x.x.x 没有下面这句 export THEOS_DEVICE_PORT = 2222 因为他们都是wifi连接  。。。 我因为这句话至少卡了我5天时间 后来还是在公车上看帖子看到的,回来一试 果然成功了 export应该是多余的  只要后面的就好这里还需要注意的是  我的工程名是 secondTest  自己根据自己的工程名修改上面需要修改的地方 自己找不同啊

然后是 Tweak.xm文件 这文件里面是我们要写的代码都写在这里面,初始模板的文件是都被注释掉的 运行起来 手机就springBoard刷新一下  然后没反应,我一开始不知道 还奇怪 代码都有 手机也有反应了 怎么没出效果  后来才发现被注释掉了


tweak.xm

上面部分是初始模板  我代码是%hook %end之间这段 

然后运行make package install 就应该能传输到手机了

成功图

中间还有一些错误解决 ,不太记得了 ,我在最后说一下吧

Makefile:1: /makefiles/common.mk: No such file or directory

Makefile:6: /tweak.mk: No such file or directory

make: *** No rule to make target `/tweak.mk'.Stop.

如果出现这个错误  就需要export THEOS=/opt/theos一下

==> Error:/Applications/Xcode.app/Contents/Developer/usr/bin/make install requires that you set THEOS_DEVICE_IP in your environment.

==> Notice:It is also recommended that you have public-key authentication set up for root over SSH, or you will be entering your password a lot.

make: *** [internal-install] Error 1

如果出现这个错误 就需要export THEOS_DEVICE_IP=127.0.0.1


如果上传手机最后一步中出现了这个错误  就需要 这就比较麻烦了 和下面那个错误不一样  这个错误是我自己乱搞  不知道搞了什么搞出来的  后来 去theos重新找了deb.mk文件 这个文件千万不要乱修改

dpkg-deb: error: obsolete compressiontype'lzma'; use xz instead Type dpkg-deb--helpforhelpabout manipulating*.deb files;Typedpkg--helpforhelpabout installing and deinstalling packages.make:***[internal-package]Error2

如果出现上面这个错误

/opt/theos/makefiles/package

sudo vi deb.mk  使用这句代码  上面那句是路径

这里需要把lzma 改成xz 因为无法解压xz文件 注意 !!!!这个文件里面还有一个错误

 $(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)  

这段替换我整出了一个无语的错误  然后选择重新替换掉deb.mk文件才解决  并不是原theos的deb.mk文件

附上个连接https://github.com/moloch--/theos这个里面的/makefiles/package里面的deb.mk文件 替换之后好像连修改lzma变成xz都不需要了 我传个截图看看吧

自己摸索就是困难,希望有初学者能够互相交流一下,这个tweak的基本上所有坑都躺过 很多错误都没发表  有些找不到源头了  有些改文件里面的 忘了改了什么 实在对不住大家  不过记忆深的都发出来了  既然是记住的  说明比较麻烦  记不住的  说明大家自己查下就能很简单的解决了  

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

推荐阅读更多精彩内容