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