原文在此

一、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平台。可以去官网下载安装:

    这两款软件也都是有破解版的,已上传到了csdn,可以直接下载(IDA是免积分的;Hopper Disassemble下载需要一个积分,上传后才发现不能取消,需要管理员权限才可以,先谢谢大家的积分)

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

iOS程序逆向Mac下常用工具——Reveal、HopperDisassemble、IDA的更多相关文章

  1. Mac下常用工具

    MySql--Sequel Pro

  2. Mac上常用工具总结

    iOS开发辅助工具 Reveal :Xcode辅助界面调试工具 官网地址:https://revealapp.com/download/ 图标: SimPholders : 快速打开模拟器中的应用程序 ...

  3. Mac OSX常用工具

    换Mac有几个月了,刚换的那个月折腾了整整一个月,初用OSX很不适应,这是一种错觉,就好比说了十几年汉语,突然说英语肯定很别扭,适应后就会觉得英语更加实用. Life weiboX(http://we ...

  4. [MAC OS] 常用工具

    1.Charles mac下的抓包.代理神器 比如我想本地配置 到我的开发机上面.我可以通过Charles 下Tools  -> Map Remote 配置跳转. 2.Postman chrom ...

  5. 我Win下常用工具清单

    GoAgent 搞研发的没有一个FQ访问Google的工具,真没法工作,所以第一主推这个, 相关按照方式请参考: http://www.cnblogs.com/ghj1976/category/696 ...

  6. IntelliJ IDEA windows与mac下常用快捷键

    摘自: http://www.th7.cn/Program/java/201604/817219.shtml 1.找文件找代码找引用 shif双击在项目的所有目录查找 ctrl+f(mac下:comm ...

  7. iOS 开发用到的常用工具

    如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务. 软件开发同样如此.你可以从软件开发者如何使用工具中看出他水准如何.有经验的开发者精于使用工具.对你目前所使用的工具不断 ...

  8. CocoaPods :为iOS程序提供依赖管理的工具(yoowei)

    修改于:2016.11.18   2017.1.10  2019.01.31 CocoaPods 源码 : https://github.com/CocoaPods/CocoaPods CocoaPo ...

  9. Mac下常用快捷键(转)

    前提,先熟读键盘快捷键符号:http://www.cnblogs.com/EasonJim/p/6350075.html 基本操作: Command-Z 撤销 Command-X 剪切 Command ...

随机推荐

  1. java中两种添加监听器的策略

    /*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; i ...

  2. 5分钟用Spring4 搭建一个REST WebService

    前置技能 ① 使用maven来管理java项目 这个技能必须点一级,以便快速配置项目. 本文实际上是我学习Spring的过程中搬的官网上的demo,使用maven配置项目. ② jdk 1.8+   ...

  3. 【tomcat】不同域名解析到同一tomcat不同项目上

    问题: 1. 有多个域名,想输入的每个域名只能访问其中的一个项目 2. 这些项目都部署在同一个tomcat上的 解决步骤:      1.首先把所有域名都解析到这台服务器上,解析时只能填写ip地址,不 ...

  4. IOS 整体架构 和 MVC布局

    IOS的生态系统 IOS生态系统不仅仅是指产品,更重要的是指 iPhone/iPad/iPod/Mac +iCloud+App整个系统,包括Siri (部分设备不支持).FaceTime.Safari ...

  5. ReactJS分析之入口函数render

    前言 在使用React进行构建应用时,我们总会有一个步骤将组建或者虚拟DOM元素渲染到真实的DOM上,将任务交给浏览器,进而进行layout和paint等步骤,这个函数就是React.render() ...

  6. .NET环境下基于RBAC的访问控制

    .NET环境下基于RBAC的访问控制 Access Control of Application Based on RBAC model in .NET Environment 摘 要:本文从目前信息 ...

  7. MS SQL验证字符串是否包含有大小写字母

    昨晚有实现一个小功能,就是在MS SQL Server中,检查字符串是否包含有大小写字母.通常应用在字符串的复杂度. ) = N'SDFfgGRYJhhTYUJ' IF LOWER(@s) COLLA ...

  8. ASP.NET Core 开发-中间件(Middleware)

    ASP.NET Core开发,开发并使用中间件(Middleware). 中间件是被组装成一个应用程序管道来处理请求和响应的软件组件. 每个组件选择是否传递给管道中的下一个组件的请求,并能之前和下一组 ...

  9. 实用的CSS3属性和使用技巧

    CSS可以改进网站的设计并且开拓网站设计更多的可能性,可以令你的网页更具吸引力.对于前端开发者.网站设计师来说,掌握并熟练应用CSS是一项必不可少的技能. 下面列出了一些非常实用的CSS3属性和使用技 ...

  10. LINUX最大线程数及最大进程数

    查看最大线程数: cat /proc/sys/kernel/threads-max ulimit User limits - limit the use of system-wide resource ...