Class-dump:检查Mach-O文件中的Objective-C运行时信息

Class-dump是一款命令行工具,用于查看Mach-O文件中的Objective-C运行时信息,帮助开发者了解类、类别和协议的声明。
clickgpt_line.png_noView
介绍

你有没有遇到过这样的情况:想要了解某个闭源应用的内部设计,却无从下手?或者想看看某个框架的接口在不同版本之间是如何演变的?好吧,如果你对这些问题感兴趣,那么Class-dump可能就是你需要的工具。

什么是Class-dump?

Class-dump是一个命令行工具,专门用来查看存储在Mach-O文件中的Objective-C运行时信息。简单来说,它可以生成类、类别和协议的声明。虽然这些信息也可以通过otool -ov命令获取,但Class-dump提供的输出更紧凑、更易读。

为什么选择Class-dump?

对于那些对软件内部运作充满好奇的人来说,Class-dump是一个很棒的工具。你可以用它来查看闭源应用、框架和包的设计。它还能让你观察接口在不同版本之间的变化,甚至可以用来实验私有框架,或者看看AppKit中隐藏了哪些私有功能。想知道Mail.app中潜藏的插件API?Class-dump可以帮你搞定。

如何下载和安装?

Class-dump的当前版本是3.5,适用于64位Intel处理器,要求Mac OS X 10.8或更高版本。你可以从以下链接下载:

使用方法

使用Class-dump非常简单。基本的命令格式是:

    
bash
class-dump [options] <mach-o-file>

其中,options可以是以下选项:

  • -a 显示实例变量的偏移量
  • -A 显示实现地址
  • --arch <arch> 从通用二进制文件中选择特定架构(如ppc, ppc64, i386, x86_64)
  • -C <regex> 仅显示与正则表达式匹配的类
  • -f <str> 在方法名中查找字符串
  • -H 在当前目录或使用-o指定的目录中生成头文件
  • -I 按继承关系排序类、类别和协议(覆盖-s
  • -o <dir> 用于-H的输出目录
  • -r 递归展开框架和固定VM共享库
  • -s 按名称排序类和类别
  • -S 按名称排序方法
  • -t 在输出中抑制头部信息,用于测试
  • --list-arches 列出文件中的架构,然后退出
  • --sdk-ios 指定iOS SDK版本
  • --sdk-mac 指定Mac OS X版本
  • --sdk-root 指定完整的SDK根路径

许可证

Class-dump是一个自由软件,你可以根据GNU通用公共许可证的条款重新发布和修改它。虽然这个程序是希望它有用,但没有任何担保,甚至没有适销性或特定用途的隐含担保。

最后嘛

Class-dump真的是一个很有趣的工具,尤其是对于那些喜欢探索和研究软件内部结构的人来说。它不仅可以帮助你了解闭源应用的设计,还能让你在开发过程中更好地理解和利用现有的框架和库。在我看来,Class-dump就像是一个软件考古工具,让你可以一窥那些隐藏在代码背后的秘密。

RPA
八爪鱼RPA
支持一键抓取公众号/小红书/抖音/淘宝数据
立即查看
流程自动化
付费
AI爆文训练营
图文变现友好赛道,低门槛、高上限,教你从0到1做个赚钱的公众号!
立即查看
躺着赚钱
¥149/年
何老师陪你做副业
这里聚焦AI副业、个人IP、自媒体运营、写作、赚钱案例。不哔哔,只分享有价值的副业项目。
立即查看
AI赚钱案例
限免
DeepSeek进阶教程
带你全面掌握DeepSeek应用技巧。提升工作、学习效率
立即查看
100万人学过
付费
网盘拉新实战教程
每周花费一小时,手把手教你赚网盘平台佣金
立即查看
500人学过
限时优惠
AiPPT
结合最新AI技术,为用户提供一键生成高质量PPT的解决方案。
立即查看
一键生成 PPT
免费
豆包MarsCode
一款免费的AI编程助手,全新支持DeepSeek R1/V3、豆包大模型1.5自由切换,免部署、更准确、更强大!
立即查看
AI编程助手
免费
Monica AI
Monica AI满血复活DeepSeek【免费】,提升您的聊天、搜索、写作和编程体验。
立即查看
一站式 AI 助手
云服务
腾讯云
综合性的云计算服务平台,现已接入DeepSeek,提供多样化的云解决方案
立即查看
高效可靠
云服务
阿里云
全球领先的云计算与数据服务平台,提供云服务器、存储、数据库、安全等多种服务
立即查看
多样化
编程学习
免费领取编程学习资料