[从基础学逆向] 5. 砸壳

背景

在iOS中开发的应用程序App,发布到App Store后,然后用户从App Store下载下来安装,这时候安装的APP是经过签名加密的,当使用越狱手机安装App Store中的App,然后获取到自己本地电脑上,这时候的APP包是带有签名的,所以我们需要去解除签名加密,这就是逆向砸壳。

准备

  1. 越狱后iPhone
  2. frida
  3. frida-ios-dump

1. iPhone安装frida

打开cydia商店,添加frida源:https://build.frida.re,然后搜索Frida,安装即可。

Start Cydia and add Frida’s repository by going to Manage -> Sources -> Edit -> Add and enter https://build.frida.re. You should now be able to find and install the Frida package which lets Frida inject JavaScript into apps running on your iOS device.

官方教程

2. Mac端frida-ios-dump

配置python3环境,因frida依赖高版本python

// 1. 查找当前python3位置
which python3
// *. 如果结果是未安装,则需要先安装python3环境,从python官网下载后安装即可
// 2. 将得到的结果路径配置到.bash_profile或.zshrc
open ~/.bash_profile
// 3. 添加此行:alias python="/usr/local/bin/python3",这个路径对应which python3结果
// 4. 立即生效
source ~/.bash_profile

官方frida-ios-dump
下载后解压到任意目录,cd到frida-ios-dump目录下,执行命令

sudo pip install -r requirements.txt --upgrade

会自动安装需要的程序

3. 检验安装结果

// 1. mac端打开终端
// 2. ssh连接到手机
iproxy 2222 22 &
ssh root@localhost -p 2222
// * 如果iproxy命令不存在,需要安装libimobiledevice,然后重试步骤2
brew install libimobiledevice
// 3. 另开一个终端窗口,检查安装结果
frida-ps -U
// 如果能看到手机中运行的进程,说明frida安装成功

砸壳过程

1. 连接手机

如当前已连接,则忽略则步

// 1. mac端打开终端
// 2. ssh连接到手机
iproxy 2222 22 &
ssh root@localhost -p 2222

2. 执行frida-ios-dump

// 新建一个窗口,cd到frida-ios-dump目录下
./dump.py 微信

窗口中会出现进度,等待完成后,当前窗口所在的目录下会出现一个砸壳后的XXX.ipa包

快捷方式

我通常会将砸壳写成一个快捷指令,用起来方便,但这不是一个必选方式。

新建文件fast_frida,写入以下命令,注意将frida_path替换为你自己的frida安装目录。

# 砸壳指令
frida_path = "~/frida-ios-dump-master"
if [ -z "$1" ]; then
echo "请输入App名称"
exit
fi
mkdir -p $HOME/frida-dump-apps/$1
python3 $frida_path/dump.py $1 -o $HOME/frida-dump-apps/$1/$1

保存,赋权chmod 777 fast_frida,将fast_frida移动到/usr/local/bin下,新开终端窗口即可使用。如:

fast_frida 相机

将在~/frida-dump-apps目录下生成相机文件夹,及相机.ipa

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网上关于 iOS 应用砸壳相关的博客,非常多,但都存在一些问题。 年代久远,砸壳的方法早已过时 比较新的文档,不够...
    sunney0阅读 602评论 0 0
  • 砸壳原理 砸壳顾名思义就是对软件进行逆向操作,对已加密的软件进行解密,从而获取真实软件源码。App Store下载...
    Hanfank阅读 19,574评论 7 12
  • 软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给App...
    帅驼驼阅读 5,197评论 2 4
  • 软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 1、砸壳原理 1.1、应用加壳(加密)...
    史记_d5da阅读 1,779评论 0 1
  • 本文只是为了学习理解整个过程和原理,砸壳和重签都有很多种简单快速的方式,本文不探讨 iPhone配置越狱,本人使用...
    崔希羽阅读 585评论 0 1