ios逆向工具Class-dump的安装和导出.h文件的教程

47 篇文章 4 订阅


官网地址
class-dump-3.5.dmg的下载地址

官网文件安装方法

双击安装dmg文件以后把里面的class-dump文件,复制到 /usr/local/bin/ 目录下,这样才能在终端的命令行里面输入class-dump命令.

在这里插入图片描述

建议不要安装官网的有的程序会运行报错,直接安装下面这个版本

运行报错 Cannot find offset for address xxx in stringAtAddress:

解决运行报错的版本下载地址:

下载这个 github可执行文件
然后复制到/usr/local/bin目录中,然后修改文件权限,终端输入:sudo chmod 777 /usr/local/bin/class-dump
然后第一次运行,会提示为信任的开发者,在mac里的"系统偏好设置"->安全性与隐私->通用-> 仍然要打开class-dump,然后再执行:class-dump -H 文件名 -o headers 就会成功把所有.h文件整出来

获取app文件

如果是你自己生成的app,你已经有了app源代码可以直接在xcode里面的product拿到这个app包.但是都有源代码了就不用逆向了.我在要逆向的是没有源代码的app
用越狱手机安装这个app.然后运行app.再用cycript工具 加载app的进程,例如我现在运行我做实验写的一个app叫testOc.

cycript -p testOc

找到 app包的位置执行命令:[NSBundle mainBundle].bundlePath
找到了app的位置如下:/private/var/containers/Bundle/Application/9B1C0412-DA10-41BD-8914-B80E7592D974/testOc.app

tandeyueyu6s:~ root# cycript -p testOc
cy# [NSBundle mainBundle].bundlePath
@"/private/var/containers/Bundle/Application/9B1C0412-DA10-41BD-8914-B80E7592D974/testOc.app"

通过iFunBox把这个app包复制到mac上面
在这里插入图片描述

把复制到mac上的 文件夹 testOc右键->显示包内容,找到里面app同名的文件 testOc,这个文件就是我们要分析的文件了
在这里插入图片描述

class-dump命令用法

class-dump 文件名

class-dump加文件名字是直接在终端打印这个app的信息

终端进入ting文件夹下

tdw@bogon testOc.app % class-dump testOc

会列出这个app的一些信息,如下图:
在这里插入图片描述

把信息输出到文件目录

class-dump -H app名字 -o 输出文件夹名字

例如下面:把testOc分析结果输出到上一层的output文件夹:

class-dump -H testOc -o ../output

看到output文件夹下有4个.h头文件
AppDelegate.h
CDStructures.h
NSObject-Protocol.h
UlApplicationDelegate-Protocol.h
ViewController.h
如下图:
在这里插入图片描述
打开一个头文件ViewController.h,查看里面的内容,里面有用到的方法和成员变量,虽然和我原来写的不一样,我原来写的是把这些变量和方法都写在了.m文件中,class-dump是把这些方法放在.h中,但是变量名字和方法名字都一样.可以通过这些变量和名字,以后再调用这些方法.
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值