class-dump算是逆向工程中一个入门级的工具,可以很方便的导出程序头文件,可以轻松的了解程序结构方便逆向。安装包下载地址:http://stevenygard.com/projects/class-dump/ 。选择dmg文件下载后,将dmg文件中的class-dump复制到/usr/local/bin目录下, 在终端输入 class-dump,显示如下图所示就可以正常使用 class-dump 命令了。

2.使用方法

命令如下:$ class-dump -H /Users/yoowei/Library/Developer/Xcode/DerivedData/yoowei-eeflvsbkhofghkdmzajophvemmfc/Build/Products/Debug-iphonesimulator/yoowei.app -o /Users/yoowei/Desktop/dump

解释:

/Users/yoowei/Library/Developer/Xcode/DerivedData/yoowei-eeflvsbkhofghkdmzajophvemmfc/Build/Products/Debug-iphonesimulator/yoowei.app是yoowei.app的路径
/Users/yoowei/Desktop/dump 是存放dump出来的头文件的文件夹路径

结果如下图(展示部分):

其中比如打开HWAccountTool.h文件,如下可以清晰的看见方法结构

注意:class-dump的作用对象必须是未经加密的可执行文件,而从App Store下载的App都是经过加密签名的,相当于有一层“壳”,class-dump应付不了这样的文件。一般要先用AppCrackr来砸壳,砸壳方式在这里不做介绍。有一个简单的方法,在一些第三方软件下载应用的越狱安装版,这样版本的壳已经被手动砸开了。

以前我们利用老版本iTunes下载IPA文件后,如果想查看包内容,可以修改.ipa后缀名为.zip,然后解压即可,然后在payload里面会发现.app文件。在Payload文件中选中.app文件,然后右击,选择Show Package Contents(显示包内容),这样就可以获得项目中所使用的资源了。

Class-dump 安装和使用记录(导出应用的头文件)的更多相关文章

  1. 用javah 导出类的头文件, 常见的错误及正确的使用方法

    ******************************************************************************** 用javah 导出类的头文件, 常见的 ...

  2. 【经验分享】 解决CentOS7 安装VMTools提示找不到Kernel头文件的方案

    配置一个Linux的开发环境,用VM10+CentOS7(Kernel版本3.10.0-327.10.1.el7),之后发现VMTools功能不全,查证后发现需要卸载重装,于是开始折腾. 按照各种说明 ...

  3. 安装psutil时提示缺少python.h头文件(作记录)

    通过pip或者源码安装psutil,都会提示缺少python.h头文件,错误提示如下: ... psutil/_psutil_common.c:9:20: fatal error: Python.h: ...

  4. 利用虚函数减少导出DLL的头文件依赖

    概要 设想这样一个场景:我有一个类FunClass,它的声明位于FunClass.h,并且在FunClass.h中,我还引用了secret.h. 现在我需要把FunClass导出成DLL文件供别人二次 ...

  5. 安装VMware Tools找不到内核头文件

    http://blog.csdn.net/bobbat/article/details/38568885 安装VMware Tools,解决无法找到kernel header path的问题 安装 V ...

  6. 如何安装psutil以及提示缺少python.h头文件

    下载psutil 下载地址https://pypi.python.org/packages/57/93/47a2e3befaf194ccc3d05ffbcba2cdcdd22a231100ef7e4c ...

  7. Mac下安装m2crypto 解决找不到openssl头文件的错误

    直接复制整段到终端运行 sudo env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --pref ...

  8. 将Chrome浏览器中的扩展程序导出为crx插件文件

    将Chrome浏览器中安装的插件程序导出为crx插件文件 以360急速浏览器为例进行导出crx插件程序 1.在Chrom商店中找到需要的插件,安装到浏览器的扩展程序里面()IDM Integratio ...

  9. 在CentOS6上编译安装实现LAMP(php-modules)+phpMyAdmin安装过程全记录

    php与apache协作有三种模式:CGI.modules.FastCGI. 在CGI模式下,用户请求php文件时,apache会启动响应进程,调用php处理器处理请求,然后将结果返回给客户端.用户响 ...

随机推荐

  1. 集合之List总结

    前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点可以对List接口有了比较深的了解了.只有通过归纳总结的知识 ...

  2. python 位置参数和关键字参数 *args **kwargs

    #!/usr/bin/env pythondef foo(*args,**kwargs): print('args: {0}'.format(args)) print('kwargs {0}'.for ...

  3. highchart本地化导出图片

    因为项目执行在内容,并且本身自带的功能是想highcharts  server写文件然后再下载的,所以 highchart本地化导出图片 就非常须要. 第一步改动export.js 里的URl 在在e ...

  4. transform CSS3 2D知识点汇总

    transform转换属性的5个值: 1. translate(x值,y值)  移动效果. 2.rotate(45deg)  旋转效果. 3.scale(x轴倍数,y轴倍数)  缩放效果. 4.ske ...

  5. Gym100920J

    求Ax+By<=C,非负整数对(x,y)的个数 首先令y=0;则x<=(C/A);ans=(C/A)+1; 将Ax+By=C反转之后利用类欧几里得算法:f(a,b,c,n)=∑((a*i+ ...

  6. 文字属性和div容器盒的使用基础

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 使用zabbix发送邮件的简易设置流程(存档用)

    1.安装邮件软件 (一般默认安装sendmail,这样apache也不用重新设置.) $sudo yum install sendmail 2.在zabbix上设置发送邮件用的本地邮箱 选择管理-&g ...

  8. 20145226 2016-2017-2 夏艺华 《Java程序设计》 课程总结

    20145226夏艺华 <Java程序设计>课程总结 每周读书笔记链接汇总 第一周读书笔记 了解Java编程风格,认识Java的类型与变量,掌握Java流程控制的方法(分支.循环). ht ...

  9. IntelliJ IDEA 添加jar包

      事先下载完成需要的javacsv.jar包. java项目在没有导入该jar包之前,显示如下图所示   点击 File ->  Project Structure(快捷键 Ctrl + Al ...

  10. [2016北京集训试题6]mushroom-[bitset]

    Description Solution bitset是个好东西啊..强行压位什么的真是够orz. 由于所有的蘑菇上房间的长相是一样的,我们针对每个房间,算出它到根节点的bitset和以它为根的子树的 ...