ios逆向工程

一,使用class-dump

1,class-dump下载:

dmg下载地址(在code7之后,使用有问题)

github源码下载地址(建议使用源码,然后自己编译)

2,class-dump安装:

编译之后就会获得class-dump,把它放到

 "/usr/local/bin"

文件夹里;

注意,这个地址根据系统的不同有所差别;

有的人是放在

"/usr/bin"

这个目录的,这个根据自己的系统注意一下即可。

注意:在iOS9之前,即Xcode7之前,可以直接去 dmg下载地址 即可,但是iOS9之后用这个版本导出的话会报下错

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.

这是因为iOS9增加了一个叫

   "the __DATA_CONST segment"

的东东。




二,class-dump + DumpFramework.pl

这个方法比第一种方法强大的地方就是可以通过一条命令把所有的私有API的头文件导出到一个叫

header

的文件夹里。

1,下载 DumpFramework.pl

class-dump的安装见第一种方法,DumpFramework.pl可以去 DumpFramework.pl 下载,放在任意目录下都可。

2,配置

打开DumpFrameworks.pl文件,把下面的地址改成你自己的地址

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

注意:

'Frameworks'

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

3,使用

cd到DumpFrameworks.pl的路径,并执行

$ ./DumpFrameworks.pl

如没有问题的话,所有需要的头文件都已经导出到

 ~/user/header

文件夹里。

三,

其实这是一种偷懒的办法,可以直接去github下载ios私有API头文件

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

相关阅读更多精彩内容

友情链接更多精彩内容