美文网首页iOS 知识点收集大神的东西
class-dump + dumpFrameworks 获取iO

class-dump + dumpFrameworks 获取iO

作者: Dream_Maker | 来源:发表于2016-04-15 16:19 被阅读1320次

目标:获取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下载

相关文章

网友评论

  • DevelopAres:可以的 很详细
  • TTgg:在吗,方法说的很到位,详细,但是出现了This file does not contain any Objective-C runtime information. 我看你是今年的,不会这么巧吧,我所有文件都是空的,有办法吗
    Dream_Maker:@TTgg 你在多试试,看看哪步没走对,我之前好像也有这个问题
    Dream_Maker:@TTgg 我好早之前写的了,我建议你直接去github下载就好了~
  • adf2302043c1:非常感谢您!!!解决了困扰我几天的问题!! :smile:
    Dream_Maker:@61ddy 不客气~ :smile:

本文标题:class-dump + dumpFrameworks 获取iO

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