Reveal4 在越狱机上分析任意 APP 方式的的变化

2017-01-18 iOS

今天更新了官网最新的版本,发现最新版 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 局域网下了,速度也快了不少。

Comments
Write a Comment
  • Liang reply

    按照教程还是不好使,mac上面reveal不显示app,不知道是哪个版本的reveal?试用期可以吗