用Reveal查看别人的App布局

准备材料

  1. 一台已经越狱的iPhone。
  2. 在Cydia源中安装OpenSSH、Cydia Substrate,OpenSSH使我们能够通过Mac终端连接到iPhone上,从而进行一些对iPhone的操作。Cydia Substrate(原来的名字叫MobileSubstrate)主要的功能是hook某个App,修改代码比如替换其中方法的实现,Cydia上的补丁都是基于它实现的。
  3. Mac上安装Reveal App。
  4. 在Cydia中安装Reveal Loader,用了这个插件后就不用再费尽的去找到想要查看的App的BundleId和创建plist了。

我本次实验用的是iOS 8.4越狱机,Reveal 1.0.6。

操作步骤

  • 在iPhone的wifi设置中查看IP地址

  • 在终端中执行命令ssh root@[设备IP地址],例如ssh root@192.168.1.110。第一次执行时会提示Are you want to continue connecting (yes/no)?,输入yes。然后会提示输入密码,OpenSSH默认的密码是alpine。现在已经在iPhone的环境中了。

  • 查看iPhone是否已经有一个叫RHRevealLoader的目录
1
ls -l /Library/ | grep RHRevealLoader

如果没有的话,就创建一个mkdir /Library/RHRevealLoader

  • 启动Reveal,选择Help -> Show Reveal Library in Finder,点击进去,会打开一个叫iOS-Libraries的文件夹。要把这里的libReveal.dylib通过scp上传到iPhone中。
scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib root@192.168.1.110:/Library/RHRevealLoader

这里要注意,我们是要把Mac上的文件上传到iPhone上,所以要确保终端在Mac的环境中,可执行exit退出之前的iPhone环境,否则会报找不到libReveal.dylib

  • 重启iPhone,再执行ssh root@[设备IP地址]回到iPhone环境,然后执行killall SpringBoard
  • 打开一个App,现在可以开始在Reveal中查看布局啦~。要确保Reveal和iPhone连的是同一个网,如果Mac上开了代理记得要退出去哦。

试了几次,在不在设置 -> Reveal -> Enabled Applications中打开App,都是可以在Reveal中正常看到的。

参考链接

  1. http://chaosky.me/2016/07/27/iOS-Security-Defense-Reveal/
  2. https://itony.me/433.html