本帖最后由 云在天 于 2018-2-7 00:50 编辑
IOS逆向-IPA砸壳
一、背景
从APPStore 商店下载安装的APP 默认都被苹果加了一层壳,加了壳后我们就无法使用 class-dump , Hook 等功能,这里的壳与Win平台上的加密壳类似,但脱壳的难度比Win平台的低。
二、方法
方法一
直接在第三方平台上下载越狱应用
如PP助手,下载后的IPA包即是已经砸过壳的应用,但有一个缺点就是架构比较唯一,一般是 armv7 的架构,但新CPU理论兼容旧架构,如果你手头没有越狱手机,这也不失为一种方法。
方法二
使用 Clutch 对越狱手机上应用进行砸壳
准备工作
一台越狱的手机,一台MAC
操作步骤
- 下载Clutch:
已编译版本: https://github.com/KJCracks/Clutch/releases
未编译可用代码
$ git clone https://github.com/KJCracks/Clutch
$ cd Clutch
$ xcodebuild -project Clutch.xcodeproj -configuration Release ARCHS="armv7 armv7s arm64" build #使用Xcode编译
这里也可以直接用Xcode打开编译
- 将工具拷贝到手机:/usr/bin/ 路径下
- 确保手机已经连接了WIFI并且你的手机的WIFI和你的电脑要在同一个局域网内,打开终端输入:
ssh root@xx.xx.xx.xx,(xx.xx.xx.xx)为你的手机的IP地址-->Enter
- 接着会提示你输入password:这里的密码一般情况下是alpine,但是如果你更改过的话就用你更改的这里的密码是手机openssh的密码,不是电脑密码也不是手机解锁密码
- 输入
cd /usr/bin
- 截止到上一步,Clutch已经安装成功了,下面就可以开始砸壳了,输入:
Clutch -i
获取已安装应用的包名,显示如下:
```bash
#Installed apps:
#1:WeChat <com.tencent.xin>
#2:DingTalk <com.laiwang.DingTalk>
```
这里只截取了一部分
-
有了包名就可以执行砸壳了,这里以微信为例子,输入以下命令
$ clutch -d com.tencent.xin
显示如下
# com.tencent.xin contains watchOS 2 compatible application. It's not possible to dump watchOS 2 apps with Clutch 2.0.4 at this moment.
# Zipping WeChat.app
# Swapping architectures..
# ASLR slide: 0xb3000
# ...
# writing new checksum
#DONE:/private/var/mobile/Documents/Dumped/com.tencent.xin-iOS7.0-(Clutch-2.0.4).ipa
# Finished dumping com.tencent.xin in 76.9 seconds
**注意DONE**后面就是砸壳成功后保存的路径
- 我们把这个路径下的IPA导出到Mac上,砸壳就结束了
三、总结
砸壳的方法有很多种,工具也很多,如果上面的方法不能达到效果,可以尝试其他方法,以后我也会补充相关的工具使用教程。
@Hmily 已用MarkDown重新排版,请审阅!{:301_975:}
PS:吐槽下MarkDown这个插件对代码框的显示。为什么预览 好好的,发布就不堪入目了 |