ios逆向开发 (五)、从clutch脱壳到class-dump
2019-04-25 本文已影响0人
朝雨晚风
脱壳可以使用PP助手下载已经脱壳的应用,获取头文件可以不这么麻烦可以直接用MonkeyDev生成iOS逆向开发(六):MonkeyDev修改微信步数
1、clutch脱壳
脱壳即脱去app的二进制加密外壳,从而得到这个app的ipa包的过程。有一些第三方的工具,这里介绍一款叫clutch的东西,使用简单易上手。 首先去GitHub下载clutch:https://github.com/KJCracks/Clutch/releases,然后用xcode编译得到build 文件夹下的clutch,然后拷贝进手机
ztq:~ zhoutengquan$ scp /Users/zhoutengquan/Downloads/Clutch-master/build/Clutch root@192.168.12.83:/usr/bin
root@192.168.12.83's password:
Clutch 100% 441KB 1.5MB/s 00:00
ztq:~ zhoutengquan$
进入目录,查看是否可以使用,没有权限自己赋予权限
ztq:~ zhoutengquan$ ssh root@192.168.12.83
root@192.168.12.83's password:
ztqs-iPhone:~ root# cd /usr/bin
ztqs-iPhone:/usr/bin root# Clutch
2019-04-25 15:11:52.404 Clutch[1247:144047] command: None command
Usage: Clutch [OPTIONS]
-b --binary-dump Only dump binary files from specified bundleID
-d --dump Dump specified bundleID into .ipa file
-i --print-installed Prints installed applications
--clean Clean /var/tmp/clutch directory
--version Display version and exit
-? --help Displays this help and exit
-n --no-color Prints with colors disabled
-v --verbose Print verbose messages
Clutch -i的命令找到我们需要砸壳的App的bundleID,,Clutch -d bundleID,然后会告诉你砸壳之后的.ipa文件的路径。
ztqs-iPhone:/usr/bin root# Clutch -I
2019-04-25 15:12:33.874 Clutch[1248:144102] command: Prints installed applications
Installed apps:
...
4: 微信 <com.tencent.xin>
...
ztqs-iPhone:~ root# Clutch -d com.tencent.xin
...
Zipping WeChatSiriExtensionUI.appex
DONE: /private/var/mobile/Documents/Dumped/com.tencent.xin(Clutch).ipa
Finished dumping com.tencent.xin in 43.7 seconds
2、class-dump获取.h文件
class-dump主要是用来查看脱壳之后的Mach-O文件的所能暴露出来的头文件
下载安装class-dump-3.5.dmg 链接:class-dump-3.5.dmg
下载完成以后双击.dmg的文件,将里面的class-dump拷贝到/usr/local/bin路径下(快捷键 shift + command + G 弹出前往文件夹)
打开终端,在控制台输入class-dump,显示如下表示配置成功
ztq:~ zhoutengquan$ class-dump
class-dump 3.5 (64 bit)
Usage: class-dump [options] <mach-o-file>
反编译ipa的文件,ipa的文件不能直接被反编译,首先右键ipa的文件,选择打开方式,用解压工具UnRAR或者其他的能解压.rar的工具解压,解压后得到.app的文件最重要。
-H后面的就是.app文件的目录,在控制台运行下面的命令,就能得到ipa文件里面的所有的头文件
class-dump -H XXX.app -o /Users/wuyong/Desktop/未命名文件夹