iOS DeveloperiOS DevelopmentiOS开发记录

Xcode安全简单配置Reveal方法

2017-06-14  本文已影响217人  Anchoriter

该文章属于Anchoriter原创,转载请注明来源:<简书 — Anchoriter>
http://www.jianshu.com/p/a233d52510f7

本方法对Xcode和项目无侵入,更环保!

本文使用版本为Reveal1.6.5,其它版本未测试。

1.配置路径

打开Reveal,首先获取Reveal包文件中libReveal.dylib包的路径
打开方式:先找到你下载安装的Reveal,右键->显示包内容,获取libReveal.dylib路径

打开Reveal包内容 获取libReveal.dylib路径

我得到的路径是
/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib
(可以将文件直接拖进终端中,很方便的拿到文件地址)
保存该路径备用,然后创建一个新的Xcode工程 11111.xcodeproj,可以在Main.storyboard里面拖几个控件,便于观看(这里我放了一个绿色按钮)。运行Xcode工程,等Xcode正常启动后点击暂停,进入LLDB模式。

expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void *)0)

等待响应后会显示一个不为0000000000的内容后,再输入第二条命令

expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

输入命令完毕后出现 INFO: Reveal Server started (Protocol Version 25).就是配置成功了

暂停程序并输入命令
再次点击暂停按钮,让程序正常运行起来。
打开我们的Reveal,选择刚才创建的项目,就能看到我们模拟器中的图层了。
刷新Reveal
模拟器上的界面改变后,我们只需要在Reveal中com+R刷新下就能看到新的界面图层了,不必再次输入命令。

2.修改命令

是不是感觉每次输入上面两条长长命令的话太让人烦了?这里有解决办法。我们在.lldbinit里面设置这两个命令的别名。
打开终端输入 touch ~/.lldbinit命令并回车,然后输入open ~/.lldbinit命令并回车,在打开的文本编辑器中将下面内容粘贴进去,保存并关闭。

command anchoriter_reveal_load expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void *)0)

command anchoriter_reveal_start expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

终端输入 编辑文本

重启Xcode,然后暂停进入LLDB模式,分别输入我们的别名命令 anchoriter_reveal_loadanchoriter_reveal_start来替代以前长长的命令

使用别名

3.其它

本方法的缺点就是只能查看模拟器上项目,对于真机上的项目是不行的。
对于真机的配置方式,请参考其它文章

iOS逆向Reveal查看任意app 的界面

iOS逆向工程之Reveal工具的安装、配置与使用

上一篇下一篇

猜你喜欢

热点阅读