今天更新了官网最新的版本,发现最新版 Reveal4 已经不提供 libReveal.dylib
动态库文件
搜寻一番,在 http://support.revealapp.com/discussions/questions/59651-where-is-librevealdylib-in-20-version ,找到了答案
We no longer ship a dynamic library starting with Reveal 2, we include an iOS 8+ framework instead. The good news is that you should be able to make a copy of, and rename the framework's binary (RevealServer.framework/ReveaServer) to libReveal.dylib and then follow the instructions as before.
好吧,其实现在就是以 .framework 方式提供,而 .framework 文件夹中 ReveaServer 就是之前的 libReveal.dylib
之前的 《一键配置,用Reveal Loader配合Reveal调试App》 ,也不好使了
猜测是原作者没有做 Reveal2 以上的支持,又翻了下下 GitHub,发现有人更新支持了 Reveal2 以上的版本:
https://github.com/Naville/Reveal2Loader ,于是兴高采烈地下了 Reveal2 Loader,然而发现并没有什么卵用,无奈看了下更新的源码:
#include <dlfcn.h> %ctor { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSDictionary *prefs = [[NSDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.rheard.RHRevealLoader.plist"] retain]; NSString *libraryPath = @"/Library/RHRevealLoader/RevealServer"; if([[prefs objectForKey:[NSString stringWithFormat:@"RHRevealEnabled-%@", [[NSBundle mainBundle] bundleIdentifier]]] boolValue]) { if ([[NSFileManager defaultManager] fileExistsAtPath:libraryPath]){ dlopen([libraryPath UTF8String], RTLD_NOW); [[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil]; NSLog(@"RHRevealLoader loaded %@", libraryPath); } } [pool drain]; }
注意这句 NSString *libraryPath = @"/Library/RHRevealLoader/RevealServer";
然后去手机/Library/RHRevealLoader/`目录一看,毛线都没有,好吧原来要我们自己放,于是把RevealServer放了进去果然就好使了。
所以整个步骤是这样的:
1.将 /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework/ 目录下的 RevealServer
文件复制到手机的/Library/RHRevealLoader/ 目录
2.在 Cydia 中下载 Reveal2 Loader
(源:http://apt.so/shenhualxt)
3.设置要分析的 APP
然后就可以像 Revea1.x 一样分析手机上任意的 APP 了,另外发现 Reveal4,支持数据线调试,只要有数据线,就不用在同一个 Wi-Fi 局域网下了,速度也快了不少。