class-dump

  • 顾名思义,它的作用就是把Mach-O文件的class信息给dump出来(把类信息给导出来),生成对应的.h头文件

  • 官方地址:请点击

  • 下载完工具包后将class-dump文件复制到Mac的/usr/local/bin目录,这样在终端就能识别class-dump命令了


    图一.png

如何获取app的Mach-O文件

  • 首先下载ipa文件 将ipa改成.zip,然后进行解压,一般都Payload文件夹里面一个文件的文字,看到体积大的就是app的Mach-O文件了


    class-dump_第1张图片
    图二.png
  • 放到桌面,然后输入指令class-dump Mach-O的名字

  • 或者class-dump -H Mach-O的名字 -o 目录名字


    图三.png

遇到的问题

  • 问题:class-dump -H时报Error: Cannot find offset for address 0x580000000100bcd8 in stringAtAddress: 错误


    图四.png
  • 原因:http://bbs.iosre.com/t/xue-xi-yong-dumpdecryptedgei-appza-ke-suo-yu-dao-de-wen-ti/813 我在iosre看到一篇帖子说是项目中可能用到了swift,后来经过证实,该项目确实是用OC和Swift混编。class-dump是利用Object-C语言的runtime特性,提取头文件,因此我认为应该是这个原因。大家如果有不同见解,望告知。

  • 遇到这种情况表示该app已经被加壳了


    class-dump_第2张图片
    图五.png

你可能感兴趣的:(class-dump)