十 iOS逆向- hopper disassembler

十 iOS逆向- hopper disassembler_第1张图片
  • hopper介绍,下载安装
  • hopper的简单使用
一 hopper介绍,下载安装

Hopper是一个可以帮助我们静态分析可执行文件的工具。但对于我们iOS逆向这块来说它能够将Mach-O文件的机器语言代码反编译成汇编代码、OC伪代码或者Swift伪代码。

官网地址:https://www.hopperapp.com
软件下载: Hopper Disassembler_4.0.8

1.1 安装步骤

1 下载Hopper Disassembler.dmg,点击安装,这个就不多讲了,跟其他软件安装没差别,安装完成后,点击图标,打开工具


2 打开后页面,因为是破解版的,点击try The Demo就好了。
十 iOS逆向- hopper disassembler_第2张图片
image.png

3 简单说明一下面板各个区域的功能
十 iOS逆向- hopper disassembler_第3张图片
面板简介图

要想知道每一个面板区域的详细功能介绍,请看官方教程 https://www.hopperapp.com/tutorial.html
一般强大的东西看起来都很简洁,简单。基本功能就说这么多,余下的自己慢慢研究吧,接下来讲一讲怎么用。

二 hopper的简单使用

我们文初说了我们用它主要就是将Mach-O文件的机器语言代码反编译成汇编代码、OC伪代码。那我们解析来要分三步走。

步骤一 先搞个Mach-O文件

主要就是反编译Mach-O,首先我们要找一个这样的文件,我网上下载了一个微信的IPA http://www.51ipa.com/network/chat/WeiXin-iPhone.html。

十 iOS逆向- hopper disassembler_第4张图片
微信IPA

下载下来后,解压,找到weixin.app,然后查看包内容,找到图中二进制可执行文件
十 iOS逆向- hopper disassembler_第5张图片
image.png

步骤二 将Mach-O文件拖到Hopper Disassembler

十 iOS逆向- hopper disassembler_第6张图片
Mach-O拖到Hopper Disassembler

我们看到微信可执行文件是个胖二进制文件,支持ARM v7, AArch 64两种架构

步骤三 开始分析

我们选择一个架构开始分析,这里我选择
ARM V7


十 iOS逆向- hopper disassembler_第7张图片
开始加载

十 iOS逆向- hopper disassembler_第8张图片
加载完成

简单操作步骤就这三步,接下来最难的就是如何去分析了,要有目标
1 你要分析要了解那一块内容
2 有什么线索能定位到分析区域,(class_dump,分析头文件,找到大致方法啊等等)
3 大胆猜测逐步验证。
我觉得简单的可以先顺着这个思路搞。

最后通过他这个分析输出,其实就是找到Mach-O文件描述信息,然后分步解析,就像我们读取XML格式文件一样,Mach-O也是有固定格式的,Hopper Disassembler就类似于SAX这种XML解析器。


十 iOS逆向- hopper disassembler_第9张图片

你可能感兴趣的:(十 iOS逆向- hopper disassembler)