前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS 12.2 脱壳/砸壳(使用frida-ios-dump)

iOS 12.2 脱壳/砸壳(使用frida-ios-dump)

原创
作者头像
conanma
修改2021-11-04 11:54:06
2.6K0
修改2021-11-04 11:54:06
举报
文章被收录于专栏:正则

加壳:利用特殊算法,对可执行文件的编码进行改变(压缩、加密),达到保护程序代码的目的

2021-01-22 3.58.12.png

脱壳:去掉壳程序,将未加密的可执行文件还原出来,或者称砸壳

脱壳方式:硬脱壳、动态脱壳

2021-01-22 3.58.28.png

脱壳工具:frida-ios-dump

判断是否加密:通过MachOView查看Load Commands -> LC_ENCRYPTION_INFO -> Crypt ID的值,0代表未加密

2021-01-22 4.17.14.png

或者通过终端命令: otool -l Mach-O文件名 | grep crypt

2021-01-22 4.11.32.png

frida-ios-dump安装

安装步骤:

1. iPhone端准备:

1.打开Cydia 【软件源】-->【编辑】-->【添加】,输入 https://build.frida.re 完成;

2.在软件源下,点击 【bulid.frida.re 】-->【全部软件包(或者开发)】选择 【Frida for pre-A12 devices】(根据手机CPU型号选择,6是A8小于A12) 安装;

3.安装完成后,在Mac终端登录iPhone端,输入 killall SpringBoard (重启手机桌面)回车

注意:不需要在手机终端输入frida-ps -U ,会报 -sh: frida-ps: command not found 错误,frida-ps -U 检查安装成功指令是在Mac终端使用的

2. Mac端准备:
  1. 在终端输入 sudo pip3 install frida 回车,安装完成后输入 frida-ps -U 回车检测; ps: 使用使用Python3 来操作 如果是Mac自带的Python 输入 sudo pip install frida 回车

2021-02-01 5.12.15.png

  1. 下载 frida-ios-dump 到 /opt/dump/ 文件夹下,输入 sudo mkdir /opt/dump && cd /opt/dump && sudo git clone https://github.com/AloneMonkey/frida-ios-dump 回车;

2021-02-01 5.17.08.png

  1. 添加firda-ios-dump 的依赖,输入 sudo pip3 install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade 回车;

2021-02-01 5.27.43.png

  1. 修改 dump.py 的iPhone端关于USB端口号(22)映射到Mac端的端口(10010)和登录用户名及密码; a. 由于/opt/dump/frida-ios-dump/dump.py是只读文件

2021-02-01 5.35.38.png b. 需要将 /opt/dump/frida-ios-dump/ 下文件 dump.py 的内容拷贝一份出来,新建一个dump.py文件并粘贴拷贝的内容;在新建的dump.py文件修改内容;

2021-02-01 5.42.39.png c. 替换原dump.py文件,查看修改内容; 输入 vim /opt/dump/frida-ios-dump/dump.py 回车;

  1. 设置指令别名;

a.在终端输入 vim ~/.bash_profile 回车;

b.在 alias python 下面添加 alias dump.py="/opt/dump/frida-ios-dump/dump.py”,按 “:”键后 输入 wq 回车;

c.生效配置文件,输入 source ~/.bash_profile 回车

2021-02-01 5.30.04.png

脱壳/砸壳操作:

1.在Mac终端输入 cd /opt/dump/frida-ios-dump/ 回车;

2021-02-01 5.32.13.png

2.打开iPhone上需要脱壳的程序;

3.在终端输入 python3 dump.py 【App Name】回车

2021-02-01 5.34.02.png

2021-02-01 5.54.02.png

  1. 用Hopper Disassembler 查看脱壳后的Mach-O文件

2021-01-22 5.00.49.png

Permission denied解决方式:

1.将 /opt/dump/frida-ios-dump/ 下文件 dump.py 的内容拷贝一份出来,新建一个dump.py文件并粘贴拷贝的内容;

2.新建一个保存路径放在43行后,内容为 SAVE_PATH = os.path.join(os.path.expanduser("~"), 'Desktop') 将存储路径指向桌面;

2021-02-01 5.36.33.png

3.修改生成ipa文件的路径为SAVE_PATH;

i2021-02-01 5.42.13.png

4.将新建的dump.py文件替换 /opt/dump/frida-ios-dump/ 下的dump.py文件

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • frida-ios-dump安装
    • 安装步骤:
      • 脱壳/砸壳操作:
      • Permission denied解决方式:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档