IOS终端安全(4) – MonkeyDev 使用

MonkeyDev安装好之后,我们就开始折腾砸壳后的APP。

第一步:新建个IOS MonkeyAPP 项目

打开Xcode,选择”create a new Xcode project”—->选择”MonkeyApp”,填写基本信息,

点击Next后,选在项目文件夹创建在桌面

第二步:导入要逆向的APP到TargetApp里

当然可以直接拖进去,也可以手动选择添加。

稍等片刻会出现在TargetApp目录下。

第三步:连接手机编译调试

越不越狱的手机无所谓,但是苹果登陆的ID要和你Xcode 登陆的ID者账号一致,如果你不是开发者账号

command+R 编译调试。

如果顺利编译成功,此刻你的手机上将会有两个微信,但是吧,一般人都不会太顺利。这里说一下遇到的问题和解决的办法

问题 1:编译报错

缺少 libstdc++.dylib ,或者libstdc++.6.dylib,或者libstdc++.6.0.9.dylib,这里只需要下载下列文件,并执行对应的xcode版本脚本即可。

问题2:报错 WatchKit应用里Info.plist 的标识要和WKCompanionAppBundleIdentifier里的标识相配套

The WatchKit app’s Info.plist must have a WKCompanionAppBundleIdentifier key set to the bundle identifier of the companion app.
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402652971
User Info: {
DVTRadarComponentKey = 261622;
MobileDeviceErrorCode = “(0xE80000D5)”;
“com.apple.dtdevicekit.stacktrace” = (
0 DTDeviceKitBase 0x000000012bb6799f DTDKCreateNSErrorFromAMDErrorCode + 220
1 DTDeviceKitBase 0x000000012bba6164 __90-[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:]_block_invoke + 155
2 DVTFoundation 0x000000010cadd993 DVTInvokeWithStrongOwnership + 71
3 DTDeviceKitBase 0x000000012bba5ea5 -[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:] + 1440
4 IDEiOSSupportCore 0x000000012ba167bc __118-[DVTiOSDevice(DVTiPhoneApplicationInstallation) processAppInstallSet:appUninstallSet:installOptions:completionBlock:]_block_invoke.292 + 3513
5 DVTFoundation 0x000000010cc0c2ae DVT_CALLING_CLIENT_BLOCK + 7
6 DVTFoundation 0x000000010cc0ded0 __DVTDispatchAsync_block_invoke + 1191
7 libdispatch.dylib 0x00007fff201725dd _dispatch_call_block_and_release + 12
8 libdispatch.dylib 0x00007fff201737c7 _dispatch_client_callout + 8
9 libdispatch.dylib 0x00007fff201795fe _dispatch_lane_serial_drain + 606
10 libdispatch.dylib 0x00007fff2017a0cb _dispatch_lane_invoke + 375
11 libdispatch.dylib 0x00007fff20183c5d _dispatch_workloop_worker_thread + 819
12 libsystem_pthread.dylib 0x00007fff2031b499 _pthread_wqthread + 314
13 libsystem_pthread.dylib 0x00007fff2031a467 start_wqthread + 15
);
}

网上不少文章是要修改/TargetApp/WeChat.app/com.apple.WatchPlaceholder/WeChatWatchNative.app/Info.plist 的bundleid 和项目的一样,然而我试了并无卵用,

后来看到试了修改

/opt/MonkeyDev/tools/pack.sh 文件,改完后退出Xcode,重新打开项目编译,没问题。在54行下添加

rm -rf "${TARGET_APP_PATH}/com.apple.WatchPlaceholder" || true

编译成功后会安装,安装好以后,

最后如图:

End