Class-Dump、HopperDisassembler v4简单介绍与使用


因为公司android平台APP被人破解,最近就学习了一些关于反编译的知识,虽然在安全性上iOS要比android好一些,上传到appstore的app经过了apple加密处理,但是在debug下或者是release下产生的ipa或者是渠道包(各种应用市场能下的ipa包)都能直接反编译;apple加密过得也可以反编译,只不过相对麻烦一些罢了。工具有很多,自行google,这里只介绍个人用到的两个:dump和hopper

利用class-dump反编译出方法名

下载地址:http://stevenygard.com/projects/class-dump

class-dump 作用对象必须是未经加密的可执行文件

下载后将class-dump复制到/usr/local/bin目录,并在Terminal中执行"sudo chmod 777 /usr/local/bin/class-dump" 命令赋予其执行权限。


新建一个项目。只在ViewController类里面做了改动,写了两个方法,其中一个方法做了声明,另一个没有

运行程序,找到Products下的Dump测试.app根目录右键显示包内容,找到二进制文件,复制到桌面一个新文件夹里面


打开Terminal,cd到放二进制文件的根目录,输入命令:class-dump -H Dump测试,运行成功后目录下面多了几个文件

打开ViewController.h可以看到反编译出来的方法名,没有声明的方法也能反编译出来

利用Hopper反编译出伪代码

要查看方法的具体实现可以利用hopper,打开hopper,把二进制文件拖进去进行反编译


在想看的地方选择if(b)f(x):可以看到近似源码的伪代码


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 2000年,伊利诺伊大学厄巴纳-香槟分校(University of Illinois at Urbana-...
    星光社的戴铭阅读 16,105评论 8 180
  • 逆向工具集的安装和使用 iOS 逆向工程的工具分类 检查工具如:Reveal(界面分析工具)、tcpdump(抓包...
    Yochi阅读 5,892评论 1 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,246评论 19 139
  • 虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈。此文想以实际...
    kuailejim阅读 122,769评论 42 365
  • 嗨,你好。 现在已经很晚了,我却仍然趴在床上写着东西,没有困意。 开学已经快一个月了,作为大二的我经历了迎新生,学...
    Kanip阅读 348评论 0 0