iOS程序逆向Mac下常用工具——Reveal、HopperDisassemble、IDA
一、Reveal
1 一般使用
Reveal是ITTY BITTY发布的UI分析工具,可以很直观的查看App的UI布局。如下图所示:

Reveal是需要付费的,需要89美元,也可以免费使用30天,不过和其它软件一样,网上都有破解版。推荐另一位博主的博客,里面有破解版安装和简单使用教程:iOS张诚的博客——Reveal使用教程。 另外也将软件Fork了一份到GitHub:https://github.com/mddios/Reveal.git。
2 程序逆向
上面的介绍对于我们自己程序的调试,查看UI布局,改动控件尺寸后实时显示已足够;但是对于程序逆向来说显然不能满足我们的要求,能够查看别人App的布局才是我们的目的,介绍如下:
下面的操作需要用到越狱手机
- 在越狱手机安装Reveal Loader
在Cydia中搜索安装Reveal Loader,安装完成后检查/Library/目录下有没有RHRevealLoader文件夹,如果没有,则根据下图提示,通过PP助手、iTools等手机助手自己创建一个RHRevealLoader文件夹,一定要在/Library/目录下。

- 拷贝动态库到手机
在MacBook下打开已经安装的Reveal,选择标题栏Help下的Show Reveal Library in Finder子选项,将会显示如下界面:

将libReveal.dylib文件通过PP助手拷贝到刚才创建的RHRevealLoader文件夹下,至此Reveal Loader安装完毕。
- 配置Reveal Loader
打开手机设置,找到Reveal(一般在设置的最下面),然后点击Reveal,进入后再点击Enabled Applications就进入配置页面,如果想看哪个App则打开后面的按钮。假设我们查看系统自带的天气应用,那么打开后面的按钮,然后回到手机主界面点击启动天气应用(如果已经启动,关闭后再次启动),最后再在MacBook的Reveal中选择对应的应用即可,如下图所示:

下面为系统天气应用UI布局图,还是很清晰的,使用了大量的Label和ImageView控件,再配合class-dump(如何使用参考此处)出的头文件,对应用程序就有整体认识:

二、Hopper Disassemble与IDA
根据class-dump和Reveal只能对程序整体有个框架性的认识,但是具体到某个功能、函数则需要反汇编工具,甚至能够在线调试它们,打印出我们想要的信息等等。Hopper Disassemble与IDA都是反汇编/调试器工具,两款软件选择哪个都可以,IDA支持Windows、Linux、Mac OS X多平台的反汇编/调试器,Hopper Disassemble更倾向于Mac OS X平台。可以去官网下载安装:
- IDA官网下载地址https://www.hex-rays.com/products/ida/support/download_demo.shtml
- Hopper Disassemble官网下载地址http://www.hopperapp.com
这两款软件也都是有破解版的,已上传到了csdn,可以直接下载(IDA是免积分的;Hopper Disassemble下载需要一个积分,上传后才发现不能取消,需要管理员权限才可以,先谢谢大家的积分)
- IDA下载地址http://download.csdn.net/detail/m__dd/9264233,可以使用,但并没有破解,虽然每30分钟会弹出提示框,但是已经业界良心了。
Hopper Disassemble下载地址(版本是3.7.8)http://download.csdn.net/detail/m__dd/9264179
下面是IDA的预览图片,使用时直接将可执行文件拖进程序即可,另外在标题栏View->open subView选项中可以打开不同的浏览窗口。

- 下面是Hopper Disassemble的预览图片,使用时直接将可执行文件拖进程序即可,另外图中红色圈主的部分,是两个按钮打开后可以点击下试试,会经常使用。

iOS程序逆向Mac下常用工具——Reveal、HopperDisassemble、IDA的更多相关文章
- Mac下常用工具
MySql--Sequel Pro
- Mac上常用工具总结
iOS开发辅助工具 Reveal :Xcode辅助界面调试工具 官网地址:https://revealapp.com/download/ 图标: SimPholders : 快速打开模拟器中的应用程序 ...
- Mac OSX常用工具
换Mac有几个月了,刚换的那个月折腾了整整一个月,初用OSX很不适应,这是一种错觉,就好比说了十几年汉语,突然说英语肯定很别扭,适应后就会觉得英语更加实用. Life weiboX(http://we ...
- [MAC OS] 常用工具
1.Charles mac下的抓包.代理神器 比如我想本地配置 到我的开发机上面.我可以通过Charles 下Tools -> Map Remote 配置跳转. 2.Postman chrom ...
- 我Win下常用工具清单
GoAgent 搞研发的没有一个FQ访问Google的工具,真没法工作,所以第一主推这个, 相关按照方式请参考: http://www.cnblogs.com/ghj1976/category/696 ...
- IntelliJ IDEA windows与mac下常用快捷键
摘自: http://www.th7.cn/Program/java/201604/817219.shtml 1.找文件找代码找引用 shif双击在项目的所有目录查找 ctrl+f(mac下:comm ...
- iOS 开发用到的常用工具
如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务. 软件开发同样如此.你可以从软件开发者如何使用工具中看出他水准如何.有经验的开发者精于使用工具.对你目前所使用的工具不断 ...
- CocoaPods :为iOS程序提供依赖管理的工具(yoowei)
修改于:2016.11.18 2017.1.10 2019.01.31 CocoaPods 源码 : https://github.com/CocoaPods/CocoaPods CocoaPo ...
- Mac下常用快捷键(转)
前提,先熟读键盘快捷键符号:http://www.cnblogs.com/EasonJim/p/6350075.html 基本操作: Command-Z 撤销 Command-X 剪切 Command ...
随机推荐
- ASP.NET MVC之路由特性以及母版页呈现方式(十二)
前言 这一节我们开始讲讲基础的东西也就是如题目所言,个人觉得当学习或者利用MVC时,必须得知道最新迭代版本新增了什么,至少得知道MVC 3.MVC 4或者MVC 5有什么区别,而不至于当利用到低版本时 ...
- 基于表的数据字典构造MySQL建表语句
表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...
- 【记录】SqlBulkCopy 跨数据库,表自定义导入
使用场景: 一个数据库中的表数据,导入到另一个数据库中的表中,这两个表的表结构不一样,如果表结构一样的时候,导入非常简单,直接读取导入就行了,表结构不一样,就意味着需要加入一些判断,SqlBulkCo ...
- OO中,先有对象还是先有类?
就是问,在面向对象思想里,先有对象还是先有类,乍一看和先有鸡蛋还是先有鸡是一类问题,其实不然!这个问题,在lz考研复试的时候被面试官问过,一模一样,如今又在一个笔试题里看到了类似的题目,眨一下,有人会 ...
- C语言 编程练习22题
一.题目 1.编一个程序,输入x的值,按下列公式计算并输出y值: 2.已知数A与B,由键盘输入AB的值,交换它们的值,并输出. 3.给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位 ...
- 清除inline-block元素之间的空白
一个元素如果被设置为display:inline-block,那么这个元素将表现为行内块的性质.被设为行内块的元素 对内(子元素)表现为块级框,具体为可以设置高度宽度,可以设置垂直margin和pad ...
- 代码的坏味道(4)——过长参数列(Long Parameter List)
坏味道--过长参数列(Long Parameter List) 特征 一个函数有超过3.4个入参. 问题原因 过长参数列可能是将多个算法并到一个函数中时发生的.函数中的入参可以用来控制最终选用哪个算法 ...
- jQuery-1.9.1源码分析系列(十二) 筛选操作
在前面分析的时候也分析了部分筛选操作(详见),我们接着分析,把主要的几个分析一下. jQuery.fn.find( selector ) find接受一个参数表达式selector:选择器(字符串). ...
- How PhoneGap & Titanium Works
转载自 http://www.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap/ How PhoneGap Works As ...
- 使用canvas实现擦玻璃效果
体验效果:http://hovertree.com/texiao/html5/25/ 效果图: 代码如下: <!DOCTYPE html> <html> <head la ...