Reveal UI调试利器,逆向app的实践教程:Reveal别人的 app(一)

这篇教程是Reveal别的app的教程。

想要实现这个目的,我们要具备以下的结果条件:

(1)一台已经越狱的iphone

(2)OS X系统,同时还需有Reveal.app用于在OS X上运行。

1、如何越狱一部iPhone手机

 越狱在网上已经有很多教程,针对不同版本的ios系统,有不同的工具。由于大部分人已经升级iOS9,下面的链接就是针对不同的iOS系统进行越狱的教程。

           针对iOS8.1.3-iOS8.4:http://www.taig.com 这个链接是太极越狱的教程,其实太极、盘古、pp助手,均有工具和教程,照着做就行了。

   针对iOS9-iOS9.0.2:http://www.pc6.com/softview/softview_177198.html 这个链接是盘古越狱的工具,由于没有mac版本,所有想要进行iOS9的童鞋还要准备一个windows系统。

楼主在进行iOS9进行越狱的时候遇到越狱工具不识别手机,大家可以参考盘古越狱工具上的帮助教程,基本上就解决了。针对部分手机是iOS9.0.2不能刷机成功,解决办法是,重新下载iOS9.0.2的固件进行刷机。在刷机时,做好备份哟,否则数据丢了,也是很闹心的。

      2、Reveal 别人的app

这是楼主使用Reveal版本:Reveal1.5.1 (没有积分的童鞋,把邮箱在评论区留下,楼主发给各位)。

  有了这个工具,离reveal别人的app已经很接近了。

1、在cydia中搜索OpenSSh并安装。如下图:

搜索OpenSSh:

完成安装,进行下一步。

          2、配置手机环境:

   在cydia中搜索RevealLoader,下载并安装,如下图:

完成这一步,依然不能进行reveal别人的app,这个版本libReveal.dylib的版本是高于楼主提供的reveal(for mac)的版本。接下来修改手机中libReveal.dylib的版本。

    3、修改手机中libReveal.dylib的版本

 打开mac上的terminal,将手机用数据线有电脑联通,这一步是在mac上操作,在执行命令前先查看手机的ip,确保手机跟电脑在一个局域网内,现在终端中运行:

1、ping[手机的ip],如果ping通,进行第二步

2、安装reveal到mac上,接下来的操作,请参照图上的说明:

3、完成上边的操作,接下来在终端中,运行如下命令:

1、ssh root@[手机ip],这个操作是完成电脑的终端连接上手机,可以操作手机的文件系统,效果图如下:

2、然后运行如下命令:

a、 如下图,童鞋在删除libReveal.dylib时,请先备份,不备份也行,大不了在手机上在安装一次reveal loader(这是比较扯淡的做法啦~)。

3、完成以上操作,就接近成功了,接着运行如下命令,该命令是将桌面上的libReveal.dylib拷贝到手机的文件夹下,如图,重新在一个新的终端中运行该命令:

4、如此便是完成,reveal别人app的全部操作。

4、在手机中完成设置

如下图:

=======================================分割线=============================================

=======================================分割线=============================================


5、激动忍心的时刻到了,reveal别人的app。

在手机上打开该app,楼主简单的演示,就看爱奇艺的UI,效果图如下:

至此,整个过程,就完成了。童鞋可以查看别人的app。是不是很开心啊~~~^..^~~~


提醒:整个过程必须使手机与电脑相连,并且手机连接的网络,必须和电脑在一个局域网中。

想试试的童鞋,快试试吧~

### MacOS逆向工程工具和方法 #### 1. 环境准备 在MacOS平台上进行逆向工程之前,需要安装必要的开发环境和工具链。这包括但不限于Xcode及其附带的命令行工具[^2]。此外,还需熟悉目标平台的基础架构,例如ARM或x86_64指令集。 #### 2. 工具分类与功能描述 ##### 2.1 静态分析工具 静态分析是指不运行程序的情况下对其代码结构、逻辑关系等进行研究。常用的工具有: - **otool**: 类似于Linux下的`objdump`,用于查看可执行文件的信息,如符号表、段布局等。可以用来提取二进制文件中的元数据[^3]。 ```bash otool -lV /path/to/binary ``` - **class-dump-z**: 提取Objective-C类定义及相关信息,适用于iOS/macOS应用的头文件还原。 ```bash class-dump-z MyApp.app/MyApp > output.h ``` - **Hopper Disassembler**: 图形化反汇编工具,支持多种处理器架构(包括Intel x86/x64 和 ARM)。它能够帮助理解复杂的控制流图,并提供伪代码生成功能[^3]。 ##### 2.2 动态分析工具 动态分析涉及观察软件的实际行为,在真实环境中测试输入输出效果。以下是几个重要的选项: - **gdb/lldb**: 调试器允许开发者暂停正在运行的应用程序以便检查内部状态变量或者内存地址等内容;同时还能修改寄存器值甚至跳过某些特定部分继续执行下去[^3]。 示例:附加到现有进程并打印当前堆栈轨迹: ```bash lldb --attach-pid <PID> bt all ``` - **Instruments (内置)**: Xcode自带性能剖析框架之,可用于监控CPU利用率、网络活动以及其他资源消耗情况。 - **Cycript/Frida**: JavaScript驱动型API拦截解决方案,适合快速原型设计阶段探索未知接口调用路径. ##### 2.3 GUI界面审查工具 如果关注点在于图形用户界面(UI),那么下面列举的些产品会很有帮助: - **Reveal App**: 实时可视化调试iPhone/iPad上的UIKit视图层次结构。 - **Interface Inspector**: macOS版本的UI探查利器,类似于前面提到过的那个针对移动设备的产品——Reveal。 #### 3. 方法论建议 为了更高效地完成整个项目周期内的各项任务,推荐采用如下策略组合方式开展工作: - 开始前做好充分调研功课,明确需求范围边界; - 结合实际情况灵活选用不同类型的辅助手段相互补充验证结论准确性; - 记录每步进展细节方便后续回顾总结经验教训。 ```python import subprocess def get_binary_info(binary_path): """获取指定二进制文件的基本信息""" try: result = subprocess.run(['otool', '-hv', binary_path], capture_output=True, text=True) return result.stdout.strip() except Exception as e: return str(e) print(get_binary_info("/usr/bin/ls")) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值