iOS逆向学习笔记17(应用砸壳)

1.什么是应用砸壳

  应用脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。
  提交给Appstore发布的App,都经过官方保护而加密,这样可以保证机器上跑的应用是苹果审核过的,也可以管理软件授权。经过App Store加密的应用,我们无法通过Hopper等反编译静态分析,也无法Class-Dump,在逆向分析过程中需要对加密的二进制文件进行解密才可以进行静态分析,这一过程就是大家熟知的砸壳(脱壳)。
应用砸壳又分为下面两种方式:

  • 静态砸壳:静态砸壳就是在已经掌握和了解到了壳应用的加密算法和逻辑后在不运行壳应用程序的前提下将壳应用程序进行解密处理。静态脱壳的方法难度大,而且加密方发现应用被破解后就可能会改用更加高级和复杂的加密技术。

  • 动态砸壳:动态砸壳就是从运行在进程内存空间中的可执行程序映像(image)入手,来将内存中的内容进行转储(dump)处理来实现脱壳处理。这种方法实现起来相对简单,且不必关心使用的是何种加密技术,我们逆向开发所采用的的就是这种砸壳方式。


    iOS应用运行原理

2.Clutch砸壳工具

2.1 Clutch简介

  Clutch是由KJCracks开发的一款开源砸壳工具。工具支持iPhone、iPod Touch、iPad,该工具需要使用iOS8.0以上的越狱手机应用,这个工具适合对完美越狱的iPhone设备中的应用进行砸壳。
Clutch Git地址

2.2 Clutch使用

进行端口映射


链接ssh服务器


将未砸壳的应用拷贝出来,默认是加密的


将从git官网下载下来的Clutch工程编译运行,将可执行文件拷贝到服务器/var/root中

scp -P 端口号 要拷贝的文件路径 用户名@IP地址:目标路径
//如果是拷贝文件夹中的所有文件,就加上一个-r参数

列出可以砸壳的应用列表


砸壳某个应用


成功之后会在下面的文件中生成相应的ipa包



然后使用scp命令将其从手机服务器中拷贝出来就可以了。

3. dumpdecripted插件砸壳

3.1 dumpdecripted插件简介以及原理演示

  Github开源工具。 dumpdecrypted这个工具就是通过建立一个名为dumpdecrypted.dylib的动态库,插入目标应用实现脱壳,这个也是一个比较老的插件了,在新版iOS设备中使用不了。

创建一个InjectDemo工程,添加一个InjectLibrary的framework,创建文件并编写如下代码:


链接越狱手机编译这个工程,进入到生成InjectLibrary动态库的目录,将这个动态库拷贝到手机中


查看这个文件


执行插入动态库的指令,遇到如下killed:9的信息:

DYLD_INSERTLIBRARIES=动态库名.framework/可执行文件名 进程路径

这是因为在iOS9.1以后的系统中mobile用户才能使用这个环境变量,所有首先切换成mobile用户


插入这个动态库到进程中:


3.2 dumpdecripted使用

进入dumpdecripted git地址主页之后,直接git clone,

通过make编译生成动态库


远程拷贝动态库到手机


切换成mobile用户(moblie没有权限在root目录下写数据),通过DYLD_INSERT_LIBRARIES环境变量插入动态库执行



查看结果我们可知:dumpcripted插件是在当前文件夹生成ipa包。

3. frida-ios-dump砸壳

3.1 frida-ios-dump介绍

  该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件,适合现iOS11版本之后的越狱手机使用。

3.2 frida-ios-dump环境安装

3.2.1 查看python3版本号

3

3.2.1 查看pip3版本


如果灭有pip3,可以使用下面的命令安装

sudo easy_install pip3

3.2.2 Mac安装frida

sudo pip3 install frida-tools

如果遇到下面的警告


image.png

需要加上-H参数(将HOME变量设置为目标用户的主目录),如下所示:


3.2.3 手机安装frida

3.2.4 Mac配置ios-dump

下载脚本

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

进入目录安装依赖,执行如下命令

sudo pip3 install -r requirements.txt --upgrade

如下图所示:


image.png

执行完毕之后,就会出现一个dump.py的文件,修改这个文件,修改内容如下:



使用frida查看手机中运行的进程,找到微信进程的名字,如下图所示:


你可以根据这个进程名进入这个进程的调试界面,如下所示:


获取到进程名后,执行这个python脚本就可以了,结束之后就生成了一个脱壳的微信的ipa包了



查看这个ipa包是否加密了


4. SSH配置中文输入

配置文件 密码:me8h
下载这个文件后,我们可以查看其内容:


我们只需要使用scp命令将这个文件拷贝到手机的root目录下就可以输入中文了
拷贝文件到根目录

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容