class-dump + dumpFrameworks 获取iOS9.3私有、公有API

目标:获取iOS9.3的私有和公有API

一. 使用class-dump+DumpFramework.pl

  1. class-dump (git源码下载地址)

    注意:一定要使用源码,官网的class-dump在xcode7之后无法获取私有和公有API会报错
    Input file (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/PrivateFrameworks/ChatKit.framework) doesn't contain an executable.

  2. 使用xCode运行class-dump,编译成功后在products中show in finder


    图一.png
  3. 将class-dump拷贝到

    /usr/local/bin   
    

    3.1 打开/usr/local/bin目录

    open -a Finder /usr/local/bin/
    
  4. 设置class-dump的权限

    $ chmod 777 /usr/local/bin/class-dump
    
  5. 下载DumpFramewor.pl 放在任意目录,并设置权限
    $ chmod 777 /Users/wuyang/Desktop/class-dump/DumpFrameworks.pl

  6. 打开DumpFramework.pl文件,把下面的地址改成自己模拟器的地址

     dump_frameworks('/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks',
     'Frameworks');
     dump_frameworks('/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks',
     'PrivateFrameworks');
    

    注意:'Frameworks'、'PrivateFrameworks'一定要换行。这里导出的是模拟器的API,因为class-dump 作用的对象必须是未经过加密的可执行文件,而从 app store 下载的 app 都是经过签名加密的,所以两个iPhoneSimulator.platform地方不能换成iPhoneOS.platform.

  7. cd 到DumpFramework.pl的路径,执行

     $ ./DumpFramework.pl
    

    至此,公有和私有的头文件已导出到

     ~/user/Headers
    

    中,commend+shift+h 查看Headers文件夹

publicapi+privateapi.png

二. 去大神的github下载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容