美文网首页想法
class-dump 安装与使用

class-dump 安装与使用

作者: 7890陈 | 来源:发表于2019-08-09 02:08 被阅读0次

    1、安装

    下载地址:http://stevenygard.com/projects/class-dump/

    屏幕快照 2019-08-08 下午11.44.38.png
    打开下载后的文件
    屏幕快照 2019-08-08 下午11.45.05.png
    将class-dump 文件移到 /usr/local/bin
    屏幕快照 2019-08-08 下午11.48.48.png

    查看class-dump 命令


    屏幕快照 2019-08-08 下午11.52.36.png

    2、用法

    class-dump [options] <mach-o-file>
    options 可选条件
    mach-o 文件(ipa文件解压后,Payload中的文件XZL,打开后里面的可执行文件XZL)
    
    屏幕快照 2019-08-08 下午11.57.32.png
    屏幕快照 2019-08-11 上午12.00.48.png

    XZL就是mach-o文件

    3、可选属性

    -a

    显示实例变量偏移量
    show instance variable offsets
    options : -a
    eg:class-dump -a /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 
    
    屏幕快照 2019-08-09 上午12.25.10.png
    -A
    显示实现地址
    show implementation addresses
    options : -A
    class-dump -A /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 
    
    屏幕快照 2019-08-09 上午1.06.02.png
    --arch <arch>
    从通用二进制文件(ppc、ppc64、i386、x86_64、armv6、armv7、armv7s、arm64)中选择特定的体系结构
    choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
    options : --arch <arch> 
    eg:class-dump --arch arm64  /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
    eg:class-dump --arch armv7  /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
    
    屏幕快照 2019-08-09 上午1.17.21.png 屏幕快照 2019-08-09 上午1.18.00.png
    -C <regex>
    只显示与正则表达式匹配的类
    only display classes matching regular expression
    options : -C <regex>
    // 待测试,正则不是太熟悉 ^_^
    

    -f <str>

    在方法名中查找字符串
    find string in method name
    options : -f <str>
    eg:class-dump -f init /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 
    
    屏幕快照 2019-08-09 上午1.27.27.png
    -H
    在当前目录或用-o指定的目录中生成头文件
    generate header files in current directory, or directory specified with -o
    options : -H
    eg:class-dump -H -o /Users/7890chen/Desktop/IPA文件/XZL-dis/点H文件 /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 
    
    屏幕快照 2019-08-09 上午1.35.00.png
    -I
    通过继承(覆盖-s)对类、类别和协议进行排序
    sort classes, categories, and protocols by inheritance (overrides -s)
    options : -I
    eg:class-dump -I /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 
    
    屏幕快照 2019-08-09 上午1.41.07.png
    -o <dir>
    用于-H的输出目录
    output directory used for -H
    options : -o <dir>
    

    -r

    递归地扩展框架和固定VM共享库
    recursively expand frameworks and fixed VM shared libraries
    options : -r
    eg:class-dump -r /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
    framework 中的文件中的变量和方法名
    

    -s

    按名称对类和类别进行排序
    sort classes and categories by name
    options : -s
    eg:class-dump -s /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
    
    屏幕快照 2019-08-09 上午1.53.41.png
    -S
    按名称排序方法
    sort methods by name
    options : -S
    eg:class-dump -S /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 
    
    屏幕快照 2019-08-09 上午1.58.13.png
    -t
    在输出中抑制报头,用于测试
    suppress header in output, for testing
    options : -t
    

    --list-arches

    列出文件中的arches,然后退出
    list the arches in the file, then exit
    options : --list-arches
    
    屏幕快照 2019-08-09 上午2.03.25.png
    --sdk-ios
    指定iOS SDK版本(将在/Developer/ platform/ iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk)
    specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
    options : --sdk-ios
    

    --sdk-mac

    指定MacOSX版本(查看/Developer/SDKs/MacOSX<version>.sdk)
    specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk
    options : --sdk-mac
    

    --sdk-root

    指定完整的SDK根路径(或者使用——SDK -ios/——SDK -mac作为快捷方式)
    specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
    options : --sdk-root
    

    相关文章

      网友评论

        本文标题:class-dump 安装与使用

        本文链接:https://www.haomeiwen.com/subject/nlyqjctx.html