iOS 逆向工程 [三]

dylib动态库注入和重签名打包

make package

先找到之前的tweak文件,进行make package命令,然后会看到

cuilinhaodeMacBook-Pro:~ cuilinhao$ cd /Users/cuilinhao/Desktop/WeChatCrawler-master/crawlertest
cuilinhaodeMacBook-Pro:crawlertest cuilinhao$ ls
Makefile        control         packages
Tweak.xm        crawlerTest.plist
cuilinhaodeMacBook-Pro:crawlertest cuilinhao$ make package

image.png

会看到obj下有一个动态库

image.png

修改动态库依赖

查看动态库依赖项

otool -L crawlerTest.dylib

会看到

image.png

上面是因为越狱手机中才会用到的CyduaSubstrate库,我们需要用 libsubstrate.dylib替换这个库
如何替换呢?
先查看Theos安装目录/opt/theos/lib中是否有 libsubstrate.dylib文件,如果没有可以到https://github.com/kokoabim/iOSOpenDev/blob/master/lib/libsubstrate.dylib 下载
查看如下:

cuilinhaodeMacBook-Pro:~ cuilinhao$ ls
Applications    Library     Public      ldid        usb.sh
Desktop     Movies      __MobPods__ login.sh
Documents   Music       get-pip.py  make.sh
Downloads   Pictures    hitTest.sh  theos
cuilinhaodeMacBook-Pro:~ cuilinhao$ open theos
cuilinhaodeMacBook-Pro:~ cuilinhao$

image.png

使用install_name_tool修改动态库的路径,指向 app 二进制文件的同级目录

install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib WXRedPackage.dylib

修改后再次查看动态了依赖项

otool -L crawlerTest.dylib

执行结果如下,如果原来库文件路径变成了新的相对路径说明成功。


image.png

将动态链接库注入二进制文件中

如果电脑中没有optool直接下载工程,https://github.com/hzpqt/optool-,因为opool添加了submodule,所以建议使用一下命令clone,用xcode编译,用Xcode打开编译后,把Product目录下的optool二进制文件拷贝到

/usr/local/bin

目录下,拷贝libsubstrate.dylib和我们自己编写并修改过的crawlerTest.dylib拷贝到WeChat.app目录下

在开始打包之前,请先将 WeChat.app 里面的 Watch 目录删除,这个目录是跟 Watch 有关的,如果不删除的话,会有问题

修改微信二进制文件加载Load Commands段

命令到砸壳后的ipa文件夹,然后


cuilinhaodeMacBook-Pro:~ cuilinhao$ cd /Users/cuilinhao/Desktop/WeChatCrawler-master/Applications
cuilinhaodeMacBook-Pro:Applications cuilinhao$ optool install -c load -p "@executable_path/crawlerTest.dylib" -t WeChat.app/WeChat

执行结果


image.png

签名打包

使用iOS App Signer 他是开源的,可以在https://github.com/DanTheMan827/ios-app-signer找到安装包和github源码链接。

image.png

image.png
image.png

直接star就可以了


  1. Input File : 拖入重签名 ipa文件,会自动生成路径

  2. Signing Certificate : 选择重签名证书,请确保证书已被添加. (双击证书即可)

  3. Provisioning Profile : 选择重签名描述文件,请确保证书已被添加. (双击.mobileprovision文件即可。切勿选择 Re-Sign Only ,无效。)

然后用pp助手或者iTools 去安装。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容