iOS重打包之MonkeyDev

iOS重打包之MonkeyDev

一、MonkeyDev环境搭建

MonkeyDev 是一款非越狱插件开发工具。
优势:
1、使用 Xcode 开发,运行,调试。
2、将脱壳后的应用(见 iOS 脱壳)或企业级账号应用重签名,直接运行到手机。
3、支持动态库注入宿主App。
4、支持通过 CocoaPods 安装三方集成 SDK。

二、Mac安装MonkeyDev

macOS Monterey 12.5.1
Xcode版本 13.4.1

1.1 官网安装教程

MonkeyDev 官网

外网下载常见各种各样的问题阻塞安装流程,可参考手动安装。

1.2 手动安装

①下载工程:MonkeyDev工程下载;

②终端进入MonkeyDev/bin目录,执行md-install文件

在这里插入图片描述

cd MonkeyDev/bin

sudo ./md-install

③执行大概率会报错,此时需要修改md-install文件

打开xxx/MonkeyDev-master/bin/md-install ,注释下面代码

#下载一些基础文件和模板文件
#downloadGithubTarball "https://codeload.github.com/AloneMonkey/MonkeyDev/tar.gz/$branch" "$MonkeyDevPath" "MonkeyDev base"
#downloadGithubTarball "https://codeload.github.com/AloneMonkey/MonkeyDev-Xcode-Templates/tar.gz/$branch" "$MonkeyDevPath/templates" "Xcode templates"

#下载frida-ios-dump
#echo "Downloading frida-ios-dump from Github..."
#downloadFile "https://raw.githubusercontent.com/AloneMonkey/frida-ios-dump/3.x/dump.py" "$MonkeyDevPath/bin/dump.py"
#downloadFile "https://raw.githubusercontent.com/AloneMonkey/frida-ios-dump/3.x/dump.js" "$MonkeyDevPath/bin/dump.js"

④下载frida-ios-dump,找dump.py与dump.js文件

手动下载frida-ios-dump

frida-ios-dump 下载

下载完成后,手动拷贝文件frida-ios-dump/dump.py和frida-ios-dump/dump.js,粘贴到/opt/MonkeyDev/bin/文件夹中,并赋予文件权限

在这里插入图片描述

//赋予执行权限
chmod +x /opt/MonkeyDev/bin/dump.py

⑤回到下载MonkeyDev工程,继续执行安装

//继续安装
sudo ./md-install

⑥如果报错关于Xcode问题,需指定Xcode

// 选择xcode
sudo xcode-select -s /Applications/Xcode.app

继续修改md-install(下载的MonkeyDev工程中)

// 修改md-install
# macosxSDKSpecificationsPath=$macosSdkPlatformPath/Developer/Library/Xcode/Specifications
# packageTypesForMacOSXPath="$macosxSDKSpecificationsPath/MacOSX Package Types.xcspec"
# productTypesForMacOSXPath="$macosxSDKSpecificationsPath/MacOSX Product Types.xcspec"

改为
macosxSDKSpecificationsPath=$macosSdkPlatformPath/Developer/Library/Xcode/PrivatePlugIns
packageTypesForMacOSXPath="$macosxSDKSpecificationsPath/IDEOSXSupportCore.ideplugin/Contents/Resources/MacOSX Package Types.xcspec"
productTypesForMacOSXPath="$macosxSDKSpecificationsPath/IDEOSXSupportCore.ideplugin/Contents/Resources/MacOSX Product Types.xcspec"

⑦ 上面配置好后,执行安装

sudo ./md-install

到此 【进程已完成】,查看Xcode。

在这里插入图片描述

此时可以创建MonkeyApp工程。

2. Xcode编译报错

创建工程后选择真机编译工程。

2.1 创建MonkeyApp编译报错

报错①:Embedded-Device.xcspec文件报错,xcode clould not initialize core

解决:
/Applications/Xcode.app/Contents/PlugIns/IDEiOSSupportCore.ideplugin/Contents/Resources/Embedded-Device.xcspec
修改上述文件,文本编辑,删除标签内中的起始的两个空的,即 ,保存,即可。

报错②:Signing for “MonkeyDemoDylib” requires a development team. Select a development team in the Signing & Capabilities editor.

解决:Targets(Dylib)->Build Settings-> ➕-> 添加 CODE_SIGNING_ALLOWED = NO;

2.2 编译缓存报错

清理,移除DerivedData

移除DerivedData,建议定期清理,会重新生成
~/Library/Developer/Xcode/DerivedData
此文件夹内是模拟器运行每个APP生成的缓存文件,删除之后只是再重新运行APP时会重新编译耗时较长,并再次生成缓存文件。

3.重打包运行IPA

需要提前准备好ipa包。(自签名构建、分发平台下载、手机助手或砸壳等渠道)

3.1 导入IPA包

把准备好的ipa包导入MonkeyDevDemo/TargetApp文件内,其它文件无需删除改动。

在这里插入图片描述

3.2 运行工程报错

报错①: file not found: /usr/lib/libstdc++.dylib

Xcode 10之后删除的libstdc++库

先下载下来这个项目,然后打开终端cd到libstdc–master文件夹;
如果你使用的是 Xcode 10,则将install-xcode_10.sh拖到终端中执行即可;
Xcode 11 之后的版本则将install-xcode_11+.sh拖到终端中执行。
下载libstdc库解决

报错②: Executable Not Found

运行前先Product->Clean.

此时Xcode运行成功,IPA重打包环境构建完成。

三、后续

除了MonkeyDev重打包外,还有直接通过壳工程,使用脚本在启动时替换app,欺骗系统需启动的app。

下一篇文章介绍下另一种重打包方式:
《iOS重打包之脚本替换》

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值