Passionfruit

前言

  • 我在使用Passionfruit 的时候,安装步骤碰到的问题是fatal error: ‘frida-core.h’ file not found,具体的请看Q&A。
  • 安全审计的工具 我觉得iNalyzer 已经过时了,推荐这款Passionfruit;
  • Passionfruit 通过frida注入代码到目标应用实现了个“动态分析iOS应用”的图形界面。

Passionfruit 的实现原理

Passionfruit 通过 frida 注入代码到目标应用实现功能,再通过 node.js 服务端消息代理与浏览器通信,用户通过访问网页即可对 App 实现常规的检测任务。

安装

  • brew install libimobiledevice
devzkndeMacBook-Pro:passionfruit devzkn$ brew install libimobiledevice
  • brew install yarn
devzkndeMacBook-Pro:passionfruit devzkn$  brew install yarn

或者

brew install npm
  • npm install –save frida@latest then $ npm install
    devzkndeMacBook-Pro:passionfruit devzkn$ npm install
    > Passionfruit@0.0.3 postinstall /Users/devzkn/code/demo/passionfruit
    > cd gui && (yarn || npm install)
    yarn install v1.3.2
    [1/4] 🔍  Resolving packages...
    [2/4] 🚚  Fetching packages...
    [3/4] 🔗  Linking dependencies...
    [4/4] 📃  Building fresh packages...
    ✨  Done in 231.08s.
    up to date in 235.627s
    

    – 运行 npm install 根据 package.json 文件安装依赖。

  • npm run build
devzkndeMacBook-Pro:passionfruit devzkn$ npm run build

> Passionfruit@0.0.3 build /Users/devzkn/code/demo/passionfruit
> frida-compile agent -o _agent.js && cd gui && (yarn run build || npm run build)

yarn run v1.3.2
  • npm start
devzkndeMacBook-Pro:passionfruit devzkn$ npm start

> Passionfruit@0.0.3 start /Users/devzkn/code/demo/passionfruit
> cross-env NODE_ENV=production node .

listening on http://localhost:31337

Q&A

  • prebuild-install http 404 https://github.com/frida/frida/releases/download/10.6.13/frida-v10.6.13-node-v59-darwin-x64.tar.gz
devzkndeMacBook-Pro:passionfruit devzkn$ npm install --save frida@latest

> frida@10.6.28 install /Users/devzkn/code/demo/passionfruit/node_modules/frida
> prebuild-install || node-gyp rebuild

prebuild-install info begin Prebuild-install version 2.3.0
prebuild-install info looking for local prebuild @ prebuilds/frida-v10.6.28-node-v59-darwin-x64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/devzkn/.npm/_prebuilds/https-github.com-frida-frida-releases-download-10.6.28-frida-v10.6.28-node-v59-darwin-x64.tar.gz
prebuild-install http request GET https://github.com/frida/frida/releases/download/10.6.28/frida-v10.6.28-node-v59-darwin-x64.tar.gz
prebuild-install http 200 https://github.com/frida/frida/releases/download/10.6.28/frida-v10.6.28-node-v59-darwin-x64.tar.gz
prebuild-install info downloading to @ /Users/devzkn/.npm/_prebuilds/https-github.com-frida-frida-releases-download-10.6.28-frida-v10.6.28-node-v59-darwin-x64.tar.gz.47369-6d6afc3ef5581.tmp
prebuild-install info renaming to @ /Users/devzkn/.npm/_prebuilds/https-github.com-frida-frida-releases-download-10.6.28-frida-v10.6.28-node-v59-darwin-x64.tar.gz
prebuild-install info unpacking @ /Users/devzkn/.npm/_prebuilds/https-github.com-frida-frida-releases-download-10.6.28-frida-v10.6.28-node-v59-darwin-x64.tar.gz
prebuild-install info unpack resolved to /Users/devzkn/code/demo/passionfruit/node_modules/frida/build/Release/frida_binding.node
prebuild-install info unpack required /Users/devzkn/code/demo/passionfruit/node_modules/frida/build/Release/frida_binding.node successfully
prebuild-install info install Successfully installed prebuilt binary!
+ frida@10.6.28
added 32 packages in 18.574s
  • Unable to launch iOS app: timeout

启动应用程序失败之后,装置就重启了。这个问题 有点类似Failed to spawn: unable to launch iOS app: timeout

临时解决方式: 手动启动app ,还是可以正常分析的

参考资料

转载请注明: > Passionfruit

在操作过程或者文章有问题的话欢迎在 原文 里提问或指正。

赞赏支持

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少
最近的文章

assemblyLanguage

前言汇编语言是用助记符,符号和数字等来表示指令的程序设计语言,它与机器语言指令是一一对应的 不同内核的CPU,必须有对应的汇编语言编译器将汇编语言编写的程序编译成对应CPU的机器语言代码,CPU才能正确识别和执行这些代码;不同架构的CPU的汇编指令集并不相同 汇编的本质就是在(寄存器和寄存器)或 (寄存器和内存)之间来回move 数据. 汇编程序员可以使用指令来读写CPU中的寄存器,从而实现对于CPU的控制 8086的寻址...…

iOSre继续阅读
更早的文章

codeshare.frida.re

前言最近觉得Frida 很有潜力,就发现了codeshare.frida.re本文演示下如何使用codeshare。ios-app-info 1、使用frida-ps 查看app 信息 devzkndeMacBook-Pro:zhangkn.github.io devzkn$ frida-ps -Uai PID Name Identifier ---- ------...…

iOSre继续阅读
更多