iOS逆向:2、MonkeyDev -- 记录(2020.12.07更)

0. iOSOpenDev 老早就不更了,MonkeyDev 是对 iOSOpenDev的升级。

    MonkeyDev 可实现免越狱,对 app 功能进行拦截、注入,再下载到手机。 很详细,https://github.com/AloneMonkey/MonkeyDev/wiki 。 

  这里只做 MonkeyDev 遇到的问题、技巧之类的记录。

1、越狱下的app开发,和普通app项目一样,只要添加三处。

   (图1、图2、图3的参数填写,可先创建个 Tweak 工程,然后,参数复制过来,图1的control里的包名,也要相应的改成这个项目的包名)。

 

2、在 1 的基础上,把Tweak插件和app开发打包成一个deb安装包。

  从app项目的文件夹 Applications、DEBIAN 和插件的 Library 文件夹 ,各复制一份出来放在同一个文件夹下,运行.sh即可。

  注意:1)、我发现 Applications 里面不会是最新的,好像每次运行后,如果发现里面的同名文件不会覆盖,所以app项目要先删除Applications 里面的 *.app ,再编译、运行,再提取出来。

  .sh的代码如下,可自己编写,打包deb脚本

#!/bin/bash
find ./Package -name ".DS_Store" -depth -exec rm {} ;
dpkg-deb -Zgzip -b Package OneSetting.deb

  如果脚本不能运行,先

cd 文件夹

  再给权限

chmod +x  上面图片名字OneSetting.sh

  参考:自 https://github.com/jackrex/FakeWeChatLoc ,他的用 iOSOpenDev。  

  思考:1)每次都要复制文件夹,是否有简单的方法,或编写脚本?

     2)以前的 iOSOpenDev 可能需要这么麻烦,现在的 MonkeyDev 是否可以在同一个工程下开发(待验证)

3、有时候,同一个代码、同一台手机,会出现下载出错的问题,可能是你变了网络、IP。

ssh -p22 root@192.168.5.109 mkdir -p "/var/root/MonkeyDevPackages"
Command PhaseScriptExecution failed with a nonzero exit code

 重新执行,获取 root 权限

ssh root@同一Wi-Fi下的越狱手机ip

4、写好第一个tweak,编译,出现

building for iOS, but linking in .tbd file (/opt/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for iOS Simulator, file '/opt/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd' for architecture arm64

  xcode11的问题,用 Sublime Text 打开 /opt/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd  删掉 i386,x86_64 指令集然后保存(但这样就不支持macOS的app逆向了?)

  或者下载之前的Xcode版本,

  参考自:https://www.chinapyg.com/thread-137013-1-1.html

原文地址:https://www.cnblogs.com/leonlincq/p/13967302.html