Reveal是一个强大的UI分析工具,使用它可以查看各个界面的视图层级,在解决界面显示问题时非常有用。它最大的特点就是非常直观,查看UI布局的时候非常方便。

我们知道,Reveal官网提供的方法只能监测、调试自己的App,第三方的App无法监测。本篇我们来用Reveal工具实现分析任意的App。

1.准备工作

  • 准备一个越狱的设备;
  • 获取libReveal.dylib并导入到设备;

打开Reveal, 点击菜单栏上的Help, 选择Show Reveal Library in Finder,如下图所示:

Reveal版本不同,这一块可能有一些区别,有的打开之后,直接可以看到libReveal.dylib,我这里打开之后的目录如下:

选择上面的"RevealServer",拷贝到桌面,并改名为“libReveal.dylib”。

使用iExplorer工具将该文件拷贝到目标设备的“/Library/MobileSubstrate/DynamicLibraries”文件夹中,如下图所示:

当然,上面的操作也可以使用scp指令。

  • 编写libReveal.plist并导入到设备;

在桌面创建libReveal.plist,输入需要分析的App的BundleId,可以多个,示例如下:

{
Filter = {
Bundles = ("com.tusheng.iosapp.AskDoctor");
};
}

同上,可使用iExplorer工具将该文件拷贝到目标设备的“/Library/MobileSubstrate/DynamicLibraries”文件夹中,如下图所示:

2.分析指定App

  • 打开Reveal,打开iPhone上指定的App,这时Reveal主界面上会出现该App,选择App;
  • 切换页面后,可以点击Reveal上方的刷新按钮,如下图所示:

iOS逆向之Reveal的更多相关文章

  1. iOS逆向系列-Reveal

    概述 Reveal是一款调试iOS程序UI界面的神器. 官网地址:https://revealall.com 下载:https://revealapp.com/download/ 建议下载Reveal ...

  2. iOS逆向系列-逆向APP思路

    界面分析 通过Cycript.Reveal. 对于Reveal安装配置可参考配置iOS逆向系列-Reveal 通过Reveal找到内存中的UI对象 静态分析 开发者编写的所有代码最终编译链接到Mach ...

  3. iOS逆向分析app

    适合有一定的逆向编程基础的人看. 背景:自动抢红包的脚本工具:cyscript,reveal,class-dump,越狱的pod等. 这里先上一张reveal的分析图: 小结:获取到了真个软件的整体结 ...

  4. iOS逆向实战与工具使用(微信添加好友自动确认)

    iOS逆向实战与工具使用(微信添加好友自动确认) 原文链接 源码地址 WeChatPlugin-iOS Mac OS 版微信小助手(远程控制.消息防撤回.自动回复.微信多开) 一.前言 本篇主要实现在 ...

  5. iOS逆向之一 工具的安装和使用

    iOS逆向之一-工具的安装和使用 最近在学习iOS安全方面的技术,有些东西就记录下来了,所有有了这篇文章.顺便也上传了DEMO,可以再这里找到这些DEMO的源码:dhar/iOSReProject 越 ...

  6. iOS 逆向之ARM汇编

    最近对iOS逆向工程很感兴趣. 目前iOS逆向的书籍有: <Hacking and Securing IOS Applications>, <iOS Hacker's Handboo ...

  7. ios逆向过程中lldb调试技巧

    在ios逆向过程中,善于运用lldb,会给逆向带来很大的方便 一般的命令: 1.image list -o -f  看看各个模块在内存中的基址 2.register read r0  读取寄存器r0的 ...

  8. iOS逆向开发(1):基础工具 | ssh | scp | socat

    小白:小程,我一直想问,什么是逆向来着?是逆向行驶吗? 小程:理解为逆向行驶也没错.一般的项目是从无到有,而逆向是从已有的状态入手,分析出已有的流程与结构的手段. iOS上的逆向开发,是一件有趣的事情 ...

  9. iOS逆向+越狱

    感觉本文涉及内容有点多的,但是自己不愿意写太多,就简单的谢谢关于ios上手的东西吧 初级入手不免要用到,pp助手,i4 tools等 iOS逆向-ipa包重签名及非越狱手机安装多个应用 1.常识 我们 ...

随机推荐

  1. 06python上

    product_list=[ ('Mac',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike',2000), ] ...

  2. 【Noip模拟 20160929】划区灌溉

    题目描述 约翰的奶牛们发现山脊上的草特别美味.为了维持草的生长,约翰打算安装若干喷灌器. 为简化问题,山脊可以看成一维的数轴,长为L(1≤L≤1,000,000)L(1≤L≤1,000,000),而且 ...

  3. 离线部署 pm2

    1. install nodejs curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash - 2.安装pm ...

  4. Android Studio模拟器磁盘空间不足(Not enough disk space to run AVD)

    在Android Studio中运行模拟器时,提示Error: Not enough disk space to run AVD '....'. Exiting.是说安装模拟的磁盘空间不足,导致无法运 ...

  5. R语言-线图(二)

      1.线图示例 plot()为高水平作图命令,axis().lines().legend()都为低水平作图命令 > rain<-read.csv("cityrain.csv&q ...

  6. 页面JS实现按钮点击增加输入框

    学习记录 https://www.tuicool.com/articles/byUf2qe

  7. android 字体加粗

    参考 https://blog.csdn.net/to_cm/article/details/6002812 TextView tv = (TextView)findViewById(R.id.Tex ...

  8. Windows Server 2012安装密钥

    Windows Server 2012 Standard 密钥:NB4WH-BBBYV-3MPPC-9RCMV-46XCB Windows Server 2012 StandardCore 密钥:NB ...

  9. js+正则+单双引号问题

    在处理用js动态添加表格时,表格中有正则表达式,其单双引号问题导致的添加表格不成功,和正则失效问题 <script type="text/javascript"> va ...

  10. [leetcode]25. Reverse Nodes in k-Group每k个节点反转一下

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k  ...