IOS脱壳+反编译

dumpdecryptedios砸壳

1.ios设备越狱使用爱思助手

2.打开Cydia搜索安装OpenSSH,Cycript

3.下载dumpdecrypted

git clone https://github.com/stefanesser/dumpdecrypted.git  #git 下载源码
sudo xcode-select --switch /Applications/Xcode.app
cd dumpdecrypted  #cd到dumpdecrypted目录
make   #编译

对 dumpecrypted.dylib 签名

江岸网站建设公司成都创新互联,江岸网站设计制作,有大型网站制作公司丰富经验。已为江岸千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的江岸做网站的公司定做!

## 列出可签名证书, 找到 mac 上面已经安装的证书
security find-identity -v -p codesigning

#签名
codesign --force --verify --verbose --sign "Apple Development: xxxxx(xxxxx)" dumpdecrypted.dylib

4.通过ssh链接Ios设备

ssh root@设备的ip地址     (这里是一个????:ssh root@192.168.2.17)
默认密码是:alpine

5.Cycript安装

http://www.cycript.org/ 安装地址

1.解压
2. mv cycript_0.9.594 /opt 
3.添加环境变量
vim ~/.bash_profile

export cycript_src=/opt/cycript_0.9.594/
export PATH=$PATH:$cycript_src
 :wq

source .bash_profile

如果你终端使用了Term2+oh my zsh
vim ~/.zshrc
配置source bash_profile的地址


如果出现异常

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /opt/cycript_0.9.594//Cycript.lib/cycript-apl
  Reason: image not found

说明我们电脑上缺少libruby动态库

brew install ruby@2.7

将你ruby@2.7所在目录下的lib/libruby.2.6.dylib
复制到cycript_0.9.594/Cycript.lib目录下
并且改名libruby.2.0.0.dylib

6.查看要脱壳应用所在目录

 ps -e |grep app  
 如
 # ??         0:05.58 /var/containers/Bundle/Application/1FE-DE7F-4344-8FD6-CA126CCAA594/pinduoduo.app/pinduoduo

使用Cycript找出目标应用的 Documents 目录路径
cycript -p pinduoduo

iPhone:~ root# cycript -p pinduoduo
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
#"file:///var/mobile/Containers/Data/Application/C-1D62-4D65-93E5-E7C8096A9D0E/Documents/"

注意: 执行过程中, 在 iPhone 上面打开运行一下 App, 不然上面的执行一直卡在那里不动.

7.脱壳

拷贝 dumpdecrypted.dylib.

拷贝 dumpdecrypted.dylib 这个之前编译签名好的文件到iPhone 上面该 APP 的 Documents 目录有两种方法.

第一种方法, 直接在 mac 上面拖拽 dumpdecrypted.dylib 到 iFunBox 显示的这个目录中, 这种方法比较简单且快.

第二种方法, 使用 scp 命令进行操作.

scp ~/dumpdecrypted.dylib root@192.168.99.231:/var/mobile/Containers/Data/Application/2EFA08B6-DD7B-41A6-92C9-C6115CA6DDA1/Documents/

192.168.99.231 是 iPhone 设备的 ip 地址.

3. 退出 cycript, 回到命令行模式

ctrl + d

4. cd 到 Documents 目录

cd /var/mobile/Containers/Data/Application/2EFA08B6-DD7B-41A6-92C9-C6115CA6DDA1/Documents/

5. 砸壳

终端在 Documents 目录下面, 执行下面命令即可:

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/2837EC87-7C28-45C5-9309-24FACD3A97C9/WeChat.app/WeChat

最后生成了 WeChat.decrypted

使用 iFunBox 或者 scp 命令将 WeChat.decrypted 文件导出到 mac 的任意目录即可.

2.frida-ios-dump

地址https://github.com/AloneMonkey/frida-ios-dump

cd frida-ios-dump-master
sudo pip install -r requirements.txt --upgrade

mac 运行

iproxy 2222 22
然后会自动显示等待连接:waiting for connection
此时cmd+N新建终端,输入
ssh -p 2222 root@127.0.0.1
默认密码:alpine

查看手机上安装的app和对应的bundle id

在 /frida-ios-dump-master 文件夹运行
 python3 dump.py -l
  PID  Name          Identifier                  
-----  ------------  ----------------------------
  Cydia         com.saurik.Cydia            
  拼多多           com.xunmeng.pinduoduo       
  邮件            com.apple.mobilemail        
    -  App Store     com.apple.AppStore          
    -  FaceTime 通话   com.apple.facetime          
    -  Safari 浏览器    com.apple.mobilesafari      
    -  Shadowrocket  com.liguangming.Shadowrocket
    -  Substitute    com.ex.substitute.settings  

例如拼多多
 python3 dump.py com.xunmeng.pinduoduo    

脱出来的文件在你运行命令的当前目录

把ipa改成zip,主程序拖入ida即刻


名称栏目:IOS脱壳+反编译
文章起源:http://scyanting.com/article/dsojogi.html