【IOS逆向】dumpdecrypted砸壳

【IOS逆向】dumpdecrypted砸壳

前面简单尝试了下frida-trace,发现可以追踪对应pid动态运行时的各种函数,但是对于一个完整APP应用,我们如何得到关键的运行函数,这里就需要对IPA进行一个逆向拆解,找代码逻辑,然后结合frida动态去看了。

爱思助手下载IPA

在这里插入图片描述

Apple Configuration下载IPA

这个是通过缓存IPA,这是APPLE官方出品的,不同于爱思是镜像苹果商城,这个方法比较推荐
在这里插入图片描述
登录APPLEid,然后从历史iCloud里面找你的app下载记录,
点击添加,他会先缓存ipa

 ~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps

在这里插入图片描述
可以先从文件夹取出来,再点击停止行了。

砸壳

dumpdecrypted

 ✘  ~/repos  git clone https://github.com/stefanesser/dumpdecrypted.git
Cloning into 'dumpdecrypted'...
remote: Enumerating objects: 31, done.
remote: Total 31 (delta 0), reused 0 (delta 0), pack-reused 31
Receiving objects: 100% (31/31), 7.10 KiB | 1.77 MiB/s, done.
Resolving deltas: 100% (15/15), done.
 ~/repos  cd dumpdecrypted
 ~/repos/dumpdecrypted   master  ls
Makefile        README          dumpdecrypted.c
 ~/repos/dumpdecrypted   master  mke
zsh: command not found: mke
 ✘  ~/repos/dumpdecrypted   master  make
`xcrun --sdk iphoneos --find gcc` -Os  -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -c -o dumpdecrypted.o dumpdecrypted.c
`xcrun --sdk iphoneos --find gcc` -Os  -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -dynamiclib -o dumpdecrypted.dylib dumpdecrypted.o
 ~/repos/dumpdecrypted   master  ls
Makefile            README              dumpdecrypted.c     dumpdecrypted.dylib dumpdecrypted.o
 ~/repos/dumpdecrypted   master 

完成上述之后我们得到了编译后的产物dumpdecrypted.dylib,现在将他弄到手机里

openssh

首先需要在cydia中下载openssh

在这里插入图片描述
然后找到你手机的ip地址(wifi里面看)

电脑连接ssh

ssh [email protected]

在这里插入图片描述

这里openssh默认的root密码是alpine,建议修改,修改如下

iPhone:~ root# passwd
Changing password for root.
New password:
Retype new password:
iPhone:~ root#

scp传进来即可
在这里插入图片描述
搜索App应用位置
在这里插入图片描述
对我们的动态库进行签名

ldid -S dumpdecrypted.dylib

砸壳,以wechat为例:

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/58F8F561-7406-479B-B90E-64C266218A4B/WKMainProject.app/WKMainProject

如果出现
在这里插入图片描述
则表示砸壳失败
否则会在当前文件夹下生成脱壳后的mach-0文件:生成: app名字.decrypted
通过如下命令可以看到文件是否加密

otool -l WeChat|grep cry

猜你喜欢

转载自blog.csdn.net/xiru9972/article/details/129096115