码迷,mamicode.com
首页 > 其他好文 > 详细

class-dump 使用

时间:2015-05-15 17:19:24      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

class-dump 官网地址:这里

我这里下载的是 class-dump-3.5.dmg 版本的。双击.dmg 文件,将 技术分享 拉倒 /usr / local / bin 目录下,这样就可以在终端使用 class-dump 命令了。(cp xxx /usr/bin/)

这里我演示dump系统自带的计算器,导出它的头文件。

命令如下:

class-dump -H /Applications/Calculator.app -o /Users/kejinliang/iosre/test/heads

解释:

/Applications/Calculator.app 是计算器app的路径

/Users/kejinliang/iosre/test/heads 是存放dump出来头文件的文件夹路径

 

  1. class-dump 3.5 (64 bit)  
  2. Usage: class-dump [options] <mach-o-file>  
  3.   
  4.   where options are:  
  5.         -a             show instance variable offsets  
  6.         -A             show implementation addresses  
  7.         --arch <arch>  choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64)  
  8.         -C <regex>     only display classes matching regular expression  
  9.         -f <str>       find string in method name  
  10.         -H             generate header files in current directory, or directory specified with -o  
  11.         -I             sort classes, categories, and protocols by inheritance (overrides -s)  
  12.         -o <dir>       output directory used for -H  
  13.         -r             recursively expand frameworks and fixed VM shared libraries  
  14.         -s             sort classes and categories by name  
  15.         -S             sort methods by name  
  16.         -t             suppress header in output, for testing  
  17.         --list-arches  list the arches in the file, then exit  
  18.         --sdk-ios      specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk  
  19.         --sdk-mac      specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk  
  20.         --sdk-root     specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)  


运行命令,可以看到已经dump出头文件了,如下所示:

 

技术分享

   class-dump 虽然非常有用,但有时我们会发现 class-dump 执行失败,无法得到我们想要的 .h 文件,或者 .h 文件的内容是加密的密文。出现这种现象的原因是:class-dump 额作用对象必须是未经加密的可执行文件,而从 App Store 下载的 App 都是经过签名加密的,可执行文件被加上了一层“壳”。

class-dump 使用

标签:

原文地址:http://www.cnblogs.com/sunnyke/p/4506187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!