iOS逆向安防从入门到秃头--砸壳&Frida

4,248 阅读3分钟

小谷秃头合集

  • 逆向开发中,必不可少的一步:砸壳

  • 关于砸壳,比较有名的工具:Clutchdumpdecryptedfrida(前两个是低版本用的。兄得们可以去研究一下原理,今天小谷说下frida)

1. 砸壳

1.1. 壳程序

  • 通过App Store发布的应用,都是通过加密的,我们把这类应用成为壳程序

  • 壳程序是通过App Store加密保护的。我们无法通过反汇编工具去查看~

  • 逆向开发中,我们我们需要对加密的二进制文件进行解密才可以开始工作,这部分称为砸壳

1.2. 静态砸壳

砸壳又有两种:静态砸壳动态砸壳

  • 静态砸壳就是 -- 将磁盘中的应用程序直接解密,得到应用。(难度系数比较高)

1.3. 动态砸壳

由于运行在内存中的程序可以被识别,所以这个时候就可以不用考虑App Store的加密了~

  • 动态砸壳主要是截取运行在内存中的MachO(image镜像)

1.png

2. Frida

Clutchdumpdecrypted是低版本系统,比较经典。不过现在基本 都是Frida(好用,坑也多😆)了

2.1. Frida的安装

Frida主要用途是砸壳。砸的是手机的壳,所以我们要在MaciPhone中都装上,然后还要配置

2.1.1. Mac电脑安装Frida

首先要有python。目前小谷推荐是python3python2好像已经不更新了)

  • 兄弟们可以看下有没有这个python3

2.png

如果没有—安装命令 brew install python3

  • 还要有pip

3.png

如果没有—安装命令 sudo easy_install pip

  • OK,可以安装frida了 sudo pip install frida-tools

2.1.2. iPhone安装Frida

  • 越狱手机,然后打开Cydia

  • 添加源:build.frida.re

  • 安装

4.png

就是他,装上就OK了。

2.1.3. Mac配置

又回到Mac电脑了

  • 下载下来 frida-ios-dump 脚本 sudo git clone https://github.com/AloneMonkey/frida-ios-dump

  • 进入frida-ios-dump目录安装依赖

sudo pip install -r requirements.txt -upgrade

  • 其实就是这个文件

5.png

  • 由于是安装的python3 ,有几个地方要改的

6.png

安装完成之后,兄弟们可以配置下环境变量,使得dump.py可以使用。(如果要移动脚本,把dump.py和dump.js一起移动)

2.2. Frida的使用

Frida其实有好多功能,也可以动态调试,但是不好用。但是他的砸壳就好用的离谱

  • 我们首先连上手机(开启端口映射)(这个可以看我上次的博客 OpenSSH)

  • 我们查看进程PID frida-ps -U

7.png

  • 开始砸壳拷贝了(以某信举例吧~) dump.py 微信

8.png

直接就出来了

  • 我们看下他是否是砸壳之后的~

9.png

是不是用起来很舒爽~

3. 总结

  • 这篇博客主要写了下砸壳,其实本开始不想写了。不过在上一篇已经提到了就写了下~

  • Frida其实很强大的,不够我们逆向开发主要还是用他的砸壳技术

  • Clutchdumpdecrypted这两款其实现在不怎么用了,不过原先还是很有名气了。可以了解下

  • 最后。小谷写完博客要买咖啡了。最近学习很晚,被领导说上班没精神了