iOS 逆向编程(二十)class-dump 安装与使用(如何导出APP头文件流程)

一、简介

class-dump 是进行 iOS 逆向开发常用的一款工具,其主要作用是导出 App 的头文件内容。根据这些头文件可以大致分析出 APP 的结构和内容。

二、安装

1、class-dump 下载地址

2、下载 class-dump-3.5 后,将 .dmg 文件里的 class-dump 复制到 /usr/local/bin 下:

(注意:从 Mac OS X 10.11 开始,/usr/bin 文件已经不能写入了,管理员权限也不行,以前是放到 /usr/bin 文件里面,但是现在不允许写入了,所以转放到 /usr/local/bin 文件即可,我们平常用的 cd 、vim ... 等命令就在 /usr/bin 里面)

3、测试是否安装成功,打开终端输入命令

$ class-dump

下面这样输出就是成功了,否则会报 not found 错误

dengzemiaodeMacBook-Pro:~ dengzemiao$ class-dump
class-dump 3.5 (64 bit)
Usage: class-dump [options] <mach-o-file>

  where options are:
        -a             show instance variable offsets
        -A             show implementation addresses
        --arch <arch>  choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
        -C <regex>     only display classes matching regular expression
        -f <str>       find string in method name
        -H             generate header files in current directory, or directory specified with -o
        -I             sort classes, categories, and protocols by inheritance (overrides -s)
        -o <dir>       output directory used for -H
        -r             recursively expand frameworks and fixed VM shared libraries
        -s             sort classes and categories by name
        -S             sort methods by name
        -t             suppress header in output, for testing
        --list-arches  list the arches in the file, then exit
        --sdk-ios      specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
        --sdk-mac      specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk
        --sdk-root     specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
三、使用
  • 命令格式
// 将导出的头文件直接在终端输出
$ class-dump [Mach-O文件路径 | Jailbreak.app]

例如:
$ class-dump /Users/dengzemiao/Desktop/Jailbreak/Jailbreak
$ class-dump /Users/dengzemiao/Desktop/Jailbreak/Jailbreak.app

// 将导出的头文件存放到指定文件夹
$ class-dump -H [Mach-O文件路径 | Jailbreak.app] -o 头文件存放目录

例如:
$ class-dump -H /Users/dengzemiao/Desktop/Jailbreak/Jailbreak -o /Users/dengzemiao/Desktop/Jailbreak/Test
$ class-dump -H /Users/dengzemiao/Desktop/Jailbreak/Jailbreak.app -o /Users/dengzemiao/Desktop/Jailbreak/Test

1、获得一个 Mach-O 执行文件或 .app应用程序 文件,可以找个 ipa 解压得到,爱思助手 可以下载 ipa,或者 Xcode 新建一个项目编译得到。

2、新建了一个空项目 JailbreakCommand + Shift + B 编译一波,找到 Products -> Jailbreak.app,右键 Show in Finder

3、可以直接使用 Jailbreak.app 这个 应用程序 文件的,他会自己找到里面的 Mach-O 进行执行,拷贝放到桌面文件,方便使用路径

4、也可以将这个 Jailbreak 这个 应用程序 文件的 Mach-O 格式的可执行文件拷贝出来,放到桌面存放起来,等下使用路径方便

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值