ios脱壳工具frida使用教程和各种踩坑总结(app store可用脱壳)

ios脱壳工具frida使用教程和各种踩坑总结(app store可用脱壳),第1张

ios脱壳工具frida使用教程和各种踩坑总结(app store可用脱壳)

@[TOP]
这个frida工具,安装让我浪费了大概十多个小时,基本找遍全网所有资料.安装了一大堆相关软件,总算能用了

越狱手机上安装frida

打开手机上的cydia,添加软件源,地址: https://build.frida.re
然后搜索:Frida
点击安装

更新brew

用国内的源:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

会提示你选择一个下载源,我选择了1,中科大

安装python3
brew install python

这里提示下面错误:

Error: [email protected]: the bottle needs the Apple Command Line Tools to be installed.
  You can install them, if desired, with:
    xcode-select --install

You can try to install from source with:
  brew install --build-from-source [email protected]
Please note building from source is unsupported. You will encounter build
failures with some formulae. If you experience any issues please create pull
requests instead of asking for help on Homebrew's GitHub, Twitter or any other
official channels.

按照他的提示输入指令安装xcode命令行工具:

xcode-select --install

再次安装python3
brew install python

安装完以后python3只会在你输入python3的时候才会执行,直接输入python是执行的默认的python2.7
下面这篇文章是我写的当输入python时,直接执行python3
mac下安装完python3以后,让默认执行的python变成python3的方法

安装wget

 brew install wget

安装pip

wget https://bootstrap.pypa.io/get-pip.py

然后执行python

sudo python get-pip.py

安装mac端的frida

pip3 install frida-tools
sudo pip install frida

到github上下载code download zip
frida github地址
解压文件

更新pip3

pip3 install --upgrade pip

然后再解压的目录里面执行命令:

sudo pip3 install -r requirements.txt --upgrade

如果上面d出警告:
WARNING: The directory ‘/Users/tdw/Library/Caches/pip’ or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo’s -H flag.
就按照警告提示把 sudo 后面加上 -H

sudo -H pip3 install -r requirements.txt --upgrade

安装python的 paramiko组件

open ~/.bash_profile

打开文件后里面添加这2行,把xcode的编译器加进去

export CC=clang
export CXX=llvm-g++-4.2

运行文件

source .bash_profile

安装pycrypto

pip3 install pycrypto

安装paramiko

pip3 install paramiko
安装usbmux,用usb登录ssh

参考我写的这篇usb登录ssh文章
越狱iPhone手机使用openSSH wifi和usb连接mac电脑再免密码登录再用shell脚本执行教程
用root登录到越狱手机以后.进入到github上下载的frida-ios-dump-master 文件夹.
打开里面的文件dump.py,修改里面的密码和端口号,例如我设置的usb映射端口是20000,就按照下面写

User = 'root'
Password = '你的密码'
Host = 'localhost'
Port = 20000
frida查看手机应用的命令

进入到github下载的电脑端解压的目录下 运行dump.py

python3 dump.py -l

或者在任意位置执行命令:

frida-ps -U

frida脱壳

首先把dump.py文件打开,并且修改里面的内容找到里面的这4行,分别输入你自己的用户名,密码,端口号是上面的usb

User = 'root'
Password = 'tdw99999'
Host = 'localhost'
Port = 20000

首先把越狱手机用usb连上mac.
然后登录ssh

然后运行要脱壳的app
然后把

然后在dump.py文件所在目录下执行指令:

python3 dump.py 应用名

成功以后再mac的dump.py文件所在目录生成一个ipa包
把这个包的.ipa扩展名,改成.zip.然后解压缩
再把文件夹打开,找到里面的跟应用名字一样的可执行文件,查看解压方式

otool macho-文件名 -l | grep crypt

发现cryptid 0 说明已经脱壳
例如:

tdw@tdwdeMini-m1 neteasemusic.app % otool neteasemusic -l | grep crypt
     cryptoff 16384
    cryptsize 4096
      cryptid 0

或者把macho文件拖拽到machoview里面,查看Load commands里的encryption_info查看crypt ID = 0,说明已经脱壳如下图

遇到错误总结

如果报了下面错误:找不到frida模块,importError: No module named frida

解决方法修改 dump.py第一行
把 #!/usr/bin/env python 后面加上3,变成 #!/usr/bin/env python3

报错:ModuleNotFoundError: No module named ‘paramiko’
解决方法用pip3安装paramiko 模块,才能被python看到
于是我执行了

pip3 install paramiko

但是还是报错.后来我发现我的电脑里面有python3.9 python3.8 python2.7,3个版本.于是我用

which python3

这个指令定位了python3的文件位置,删掉整个目录,让mac里面只有python3.8和系统默认的python2.7.重启了mac好使了

警告 pip版本低的警告处理方法:
WARNING: You are using pip version 20.2.3; however, version 22.0.2 is available.
You should consider upgrading via the ‘/Applications/Xcode.app/Contents/Developer/usr/bin/python3 -m pip install --upgrade pip’ command.
这个是要你升级pip版本,按照提示,点击xcode右键显示包内容
然后进入到目录Xcode.app/Contents/Developer/usr/bin/python3 ,显示原身,然后在原身的目录里面终端执行命令,升级到pip最新版本

sudo -H pip3 install --upgrade pip

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5721165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存