Tweak打包dylib注入ipa重签名安装到未越狱手机上

Tweak打包dylib注入ipa重签名安装到未越狱手机上

在我上一篇文章第一次写Tweak,走进iOS逆向的世界中,我写了个很简单的Tweak,当然,越狱手机直接安装deb就行了,就可以使用了,但是,最终的目的是需要让未越狱的手机也能装上,这就涉及到了注入dylib和重签名的东西,我也是踩了无数的坑,总算爬出来了,然后写了这篇教程!

找到dylib

当我们成功make package后,在tweak目录下,packages文件夹里是我们打包出来的deb文件,可以直接安装到越狱手机上.而要注入到ipa里是需要用到dylib文件的,而这个文件就在我们创建的Tweak的目录下的隐藏文件夹里,路径如下图


最后有2个文件夹,arm64armv7,下面那个dylib其实已经包含了上面那2种架构了,所以直接用下面那个dylib即可

处理我们需要的文件

libsubstrate.dylib文件,由于Tweak开发都是依赖CydiaSubstrate来注入的,但是这个只有在越狱手机上有,未越狱的手机上是没有这个的,所以我们需要处理一下,这个文件在越狱手机上有,github上也有,其实theos安装的时候电脑上就自带了一个这个文件

  • 证书配置文件


    将其命名为embedded.mobileprovision

  • entitlements.plist文件,不处理这个会导致你签名后也无法安装到未越狱手机上(越狱手机可以安装,所以这是个大坑)
    这个文件是根据配置文件来生成的
    分别运行以下2条命令

security cms -D -i "extracted/Payload/$APPLICATION/embedded.mobileprovision" > t_entitlements_full.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > t_entitlements.plist

将第一条命令中""的部分改成你配置文件的路径,然后会在当然目录下出现2个文件,一个是t_entitlements_full.plist,另一个是t_entitlements.plist,将t_entitlements.plist改名为entitlements.plist

  • 解压后的.app文件,这个就是没有签名的ipa解压后的.app文件

好了,我们需要处理的文件就大致是上面这些,当然还要安装一些注入工具之类的,例如optool或者yololib这些之类的,因为我之前就安装了,也没办法再截图了,大家直接github上搜索一下就能找到了

开始处理dylib

  • 首先查看一下我们的dylib的依赖项
    otool -L xxx.dylib

    可以清楚的看到,除了我红框中的CydiaSubstrate,其余都是系统的库,上面说到了,因为未越狱的手机上是没有CydiaSubstrate库的,我们要将其依赖路径修改为libsubstrate.dylib
    命令如下
install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib xxx.dylib

这里需要注意一点,-change后面跟的路径就是我上图红框中的路径,因为有的人用otool查看的路径可能是/usr/lib/libsubstrate.dylib,那就把-change后的路径改为/usr/lib/libsubstrate.dylib即可,最后的xxx.dylib是绝对路径,我直接省略了,可以直接看图


第一个框中是命令,运行后是没有任何输出的
然后使用otool -L看一下我们的依赖项路径是否已经修改了,上图的第二个和第三个框中就可以看到我们的依赖项路径已经修改掉了

使用 optool 把 xxx.dylib 注入到二进制文件中:

install -c load -p "@executable_path/xxx.dylib" -t xxx/Payload/xxx.app/xxx

准备所有的文件

经过上面的步骤,我们把所有文件都放到一个文件夹中,文件应该有5个,如图


Payload/xxx.app右键显示包内容,将xxx.dyliblibsubstrate.dylib放进去

开始签名

这里也有坑,网上很多教程说直接签名就行了,很少有说到要对dylib也签名的,导致我装在手机上打开也是闪退,都是通过系统日志才找到的原因(稍后说到)

网上有很多神马一键签名啥的,我也基本上都用过了,感觉还是用codesign好一些!首先cd到我们放5个文件的那个文件夹里开始进行签名

1、对entitlement签名

codesign -f -s "iPhone Developer: xxx (xxx)" --entitlements entitlements.plist  Payload/xxx.app

将iPhone Developer: xxx (xxx)换成你自己的,这里我带了个-f参数,codesign会自动用你选择的签名替换掉已存在的那个签名(我这里的其实是去除签名的),反正带上没坏处吧!出现replacing existing signature就签名成功了.

2、对2个dylib进行签名

  • 命令和上面一样,直接后面换成dylib的路径(注意是2个dylib,下面这个命令要运行2次,2个dylib分别运行一次)
codesign -f -s 'iPhone Developer: xxx (xxx)' /Users/jj/Desktop/deb/33/Payload/xxx.app/xxx.dylib

3、打包ipa

  • zip -qr app-resigned.ipa Payload/运行后会在当前目录下出现打包好的ipa,名为app-resigned.ipa

介绍一下自动打包工具吧iReSign,用这个也可以.

安装

经过上面的步骤,我们已经得到了重签名后的ipa了,接下来就可以用pp助手、iTunes等工具安装到手机上了(前提是你的证书中有加入你要安装的手机的UDID才能安装),也可以直接上传到蒲公英等分发平台给别人下载了!

虽然看起来步骤不多,但是其中的坑真的很多,希望大家能在这条路上少踩点坑,以上只是我自己的做法,别人可能会有更简单或者更好用的方法,我的方法仅供参考,文中如有错误还忘大家指正!

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

推荐阅读更多精彩内容