1c0K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2M7s2m8K6i4K6u0W2j5i4m8H3L8r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6U0L8W2)9J5c8X3q4H3M7q4)9J5c8Y4W2G2N6i4c8#2j5X3g2Q4x3V1k6A6k6o6f1@1y4o6l9H3y4K6j5$3y4l9`.`.
然后得到的id是544007664,然后直接访问下面的链接,可以查询到所有版本,如果是其他app就替换中间的id即可
affK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2M7r3W2Q4x3X3g2#2L8X3I4A6L8h3q4H3M7s2y4Q4x3X3g2U0L8$3#2Q4x3V1k6$3x3g2)9J5c8X3q4H3M7r3I4W2i4K6g2X3j5i4m8H3M7#2)9J5c8U0f1@1y4o6l9H3y4K6j5$3y4q4)9J5c8Y4k6W2M7Y4y4A6L8$3&6K6
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/4AE69936-E547-4B27-B76F-D5CEAB992553/Target.app/Target
成功后会在当前目录生成出砸壳后的文件,scp到本地即可
2、bfinject
使用这个方式砸壳是因为刚开始我手上只有ios11的手机,然后萌新各种无法成功解密,并且获取沙盒路径也不好使,并且cycript也无法正常运行。然后我就找到了bfinject。我们可以用它来实现在ios11上运行cycript,也可以直接用它来进行砸壳。使用起来也很简单便捷
bash bfinject -P iRead.app -L decrypt
两种方式都能砸壳,成功砸壳后会生成文件。我们要搜索下文件生成在哪里了
find /var/mobile/Containers/Data/Application/ -name decrypted-app.ipa
3、frida-ios-dump
这个使用我感觉没啥好介绍了的了。ios的frida用起来简单方便
添加源f07K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1N6h3W2D9k6q4)9J5k6h3k6J5K9h3c8S2i4K6u0W2M7X3f1`.
然后搜索frida,安装。有点小坑的是,frida有点略大,然后国内的网经常下载失败,反正我安装尝试很多次,最后搭梯子才下好的。
然后github上的frida-ios-dump项目拉下来。有一点坑的是,砸壳的这个py脚本里面用了一些linux的命令。如果你是在window下面来进行砸壳的话,那么你就得尽兴一些特殊处理才能成功砸壳了。
方案一,将py里面用到的一些linux命令转换成对应的win的命令。
方案二,安装cywin,安装的时候,把py脚本中用到的一些linux命令添加一下。这样脚本就可以成功运行并砸壳了。
Reveal/Contents/SharedSupport/iOS-Libraries/RevealServer.framework 目录下的 RevealServer 复制到设备/Library/RHRevealLoader/libReveal.dylib
然后RevealServer.framework 拷贝到手机上的/System/Library/Frameworks 目录下
Scp要复制目录使用-r
然后到设置里面找到reveal,点开后选择自己想要抓到应用,我们就可以抓到界面了。
2、dpkg
先安装Xcode,然后就是按照下面的步骤来。如果安装了不能用要记得sudo port selfupdate
xcode-select --install
sudo xcodebuild -license
安装 Macports ,网址:b71K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2S2j5%4m8G2M7Y4c8K6i4K6u0W2L8%4u0Y4i4K6u0r3K9h3&6K6N6r3q4D9L8q4)9J5k6i4m8Z5M7l9`.`.
测试时否能用port可以先sudo port list一下
如果找不到port是需要设置环境变量
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
如果不能用就先sudo port selfupdate
最后执行安装dpkg
sudo port -f install dpkg
3、Charles
这个是用来抓http包的,用法很简单,这里我只说下ios设备抓https时,使用10及10以上会有个小坑
手机代理端口设置好。保证能抓包http包先,然后手机访问81eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4Z5L8s2y4Q4x3X3g2H3M7X3!0Q4x3V1k6K6M7$3I4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7e0k6Q4z5o6u0Q4c8e0k6Q4z5f1g2Q4z5f1y4Q4c8e0S2Q4z5o6y4Q4b7V1c8Q4c8e0k6Q4z5o6S2Q4z5e0m8Q4c8e0g2Q4z5p5q4Q4z5f1k6Q4c8e0g2Q4b7f1g2Q4z5o6W2Q4c8e0S2Q4b7e0y4Q4z5o6g2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0S2Q4b7f1k6Q4b7U0c8Q4c8e0k6Q4z5e0S2Q4z5p5g2Q4c8e0W2Q4z5o6g2Q4z5p5c8Q4c8e0N6Q4b7V1c8Q4b7f1g2G2K9#2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4q4!0n7z5q4)9^5c8q4!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4g2!0n7x3q4!0n7x3g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4W2)9^5z5g2)9^5b7W2!0q4y4W2)9&6b7#2!0n7b7g2!0q4z5q4!0n7c8W2)9&6z5q4!0q4y4W2!0n7x3W2!0m8x3g2!0q4z5q4!0m8c8g2!0n7c8g2!0q4y4#2!0n7c8q4!0m8c8g2!0q4y4g2!0m8y4g2!0n7c8l9`.`.
这里注意手机不能翻q,否则可能会导致不能正常的安装
然后进入设置,通用,关于本机,证书信任,开启刚刚的证书即可
这个不得不说相当强大,应用运行时注入,写插件的时候可以提前用这个执行测试效果。很大的提高开发效率,简单的功能可以省掉写测试插件了。
但是也有坑,ios10运行相当顺利。但是ios11需要使用bfinject注入才能运行成功,并且control+d退出好像有点问题,我没有去查啥情况。
在ios11上运行 bash bfinject -P Reddit -L cycript
据说最新的插件装上也可以直接运行cycript。不过我没有测试了。
ios10直接运行 cycript -p demo2
由于cycript上可以导入脚本的,如果先导入脚本,把常用的简单操作可以直接封装在脚本中,这样就可以节省我们很多时间
这里我用的github上的mjcripy。这样使用前先@import mjcript 然后查询一些信息的命令可以直接调用封装好的,主要还是因为我object-c太渣了。毕竟没做过ios开发。
5、debugserver+lldb动态调试
xcode如果有进行过调试的话,会在自动把debugserver复制到移动设备上,路径是/Developer/usr/bin下面会有个debugserver
复制到pc端,然后签名授权下,下面的内容保存为ent.xml
<plist version="1.0">
<dict>
<key>com.apple.springboard.debugapplications</key>
<true/>
<key>get-task-allow</key>
<true/>
[培训]科锐逆向工程师培训第53期2025年7月8日开班!