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

简介: 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-dum

下面这样输出就是成功了,否则会报 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
• 2
• 3
• 4
• 5
• 6
• 7
• 8
• 9
• 10
• 11
• 12
• 13

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 格式的可执行文件拷贝出来,放到桌面存放起来,等下使用路径方便

相关文章
|
12天前
|
安全 数据安全/隐私保护 Android开发
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
144 75
|
22天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
177 18
|
2月前
|
人工智能 自然语言处理 前端开发
用通义灵码,从 0 开始打造一个完整APP,无需编程经验就可以完成
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。本教程完全免费,而且为大家准备了 100 个降噪蓝牙耳机,送给前 100 个完成的粉丝。获奖的方式非常简单,只要你跟着教程完成第一课的内容就能获得。
11228 17
|
22天前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
|
2月前
|
传感器 iOS开发 UED
探索iOS生态系统:从App Store优化到用户体验提升
本文旨在深入探讨iOS生态系统的多个方面,特别是如何通过App Store优化(ASO)和改进用户体验来提升应用的市场表现。不同于常规摘要仅概述文章内容的方式,我们将直接进入主题,首先介绍ASO的重要性及其对开发者的意义;接着分析当前iOS平台上用户行为的变化趋势以及这些变化如何影响应用程序的设计思路;最后提出几点实用建议帮助开发者更好地适应市场环境,增强自身竞争力。
|
2月前
|
API Android开发 iOS开发
深入探索Android与iOS的多线程编程差异
在移动应用开发领域,多线程编程是提高应用性能和响应性的关键。本文将对比分析Android和iOS两大平台在多线程处理上的不同实现机制,探讨它们各自的优势与局限性,并通过实例展示如何在这两个平台上进行有效的多线程编程。通过深入了解这些差异,开发者可以更好地选择适合自己项目需求的技术和策略,从而优化应用的性能和用户体验。
|
5月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
247 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
3月前
|
开发工具 iOS开发 MacOS
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
187 0
|
4月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
81 11
|
5月前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
277 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法

热门文章

最新文章