免越狱 tweak 应用逆向开发

11459563-aed3cae523914943

文章封面~忽略忽略~

对于已越狱的设备,系统默认安装了mobilesubstrate动态库,提供一个系统级的入侵管道,所有的tweak都可以依赖它来进行开发。而对于没有越狱的手机,我们需要向目标app注入libsubstrate.dylib动态库,才能使程序在运行时加载我们编写的动态库。

环境准备:

编译安装 optool 工具,下载之后需要修改项目Build Setting中Base SDK项为当前系统sdk,否则可能编译报错:


实现部分:
1. 在tweak工程目录下编译代码,生成目标库:

可以在./.theos/obj/debug下找到生成的目标库xxx.dylib

2.修改目标库依赖文件的相对地址:

12459563-742b4d02d2e703f0

修改前依赖库

查看动态库的依赖库,图中可以看到两个架构的依赖库,其中大部分都是系统库,只有一个需要我们注入的库。由于

在实际设备上没有对应的文件,我们需要修改其地址为相对地址:

如果系统显示的是/usr/lib/libsubstrate.dylib而不是/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate的话,使用以下命令:(命令中只有依赖地址不同,@loader_path指明相对地址。)

完成之后我们再次查看依赖库:

13459563-49d9537dae518af4

修改后依赖库

可以看到,依赖库加载地址已经成功被修改

3.注入xxx.dylib到目标应用中

拷贝libsubstrate.dylib和我们编写的库xxx.dylib到需要hook的应用的zzz.app目录下,修改应用目录下二进制文件的zzz的Load Commands段:

4.重签名和打包应用:

此处也可以简单的使用工具一步完成ios-app-signer生成ipa

14459563-9d4c15a0f828fcf5

ios-app-signer应用截图
5.使用itunes或pp助手或itool等方法安装食用~

知识扩展链:

移动App入侵与逆向破解技术-iOS篇
免越狱版 iOS 抢红包插件
iOS微信抢红包Tweak安装教程

1 收藏 评论

可能感兴趣的话题



直接登录
跳到底部
返回顶部