美文网首页
逆向-分析别人的APP界面

逆向-分析别人的APP界面

作者: CoderLS | 来源:发表于2018-11-28 23:44 被阅读0次

1.可以使用cycript 在cydia里安装cycript插件,用于运行时分析,修改界面。但是操作比较麻烦,所以如果只想分析别人的界面可以使用Reveal软件,如果想修改界面还是得用cycript

2.Reveal下载地址?https://revealapp.com/

下载Free trial试用版本,但是需要使用邮箱接收激活码,每个邮箱只能使用一次,每次试用15天,好在网上有临时邮箱,所以就相当于可以永久免费使用了,临时邮箱网站 http://24mail.chacuo.net/

  • 下载完之后发现新版本没有libReveal.dylib了,所以需要按下图所示,找到library,拷贝RevealServer.framework下的RevealServer到手机里 /Library/MobileSubstrate/DynamicLibraries/目录下,然后修改名称为libReveal.dylib,
屏幕快照-2018-03-22-下午1.26.23.png 屏幕快照-2018-03-22-下午1.26.39.png

然后创建一个libReveal.plist文件,内容如下,也存放到上面的那个目录下,”com.apple.UIKit”代码可以查看所有的app,即手机里打开哪个app就可以查看哪个app,如果修改成其他的则为可以查看固定的app

{
    Filter = {
        Bundles = (
                   "com.apple.UIKit",
                   );
    };
}

但是在reveal 18版本 iOS8.1.1的情况下越狱,设置查看所有app,导致safari无法打开网页,以及有些应用使用WKWebView的界面也无法打开网页,所以不能使用 com.apple.UIKit 查看所有app,需要指定bundleId来查看指定app,这样就可以打开网页,这点需要大家注意,下面是微信和掌上生活的bundleId

{
    Filter = {
        Bundles = (
            "com.cmbchina.cmblife",
            "com.tencent.xin",
        );
    };
}

如果不想查询,想自动生成这个plist列表,写个demo把以下代码放入即可自动生成,控制台会打印生成的plist文件在哪个目录,然后手动将文件拷贝到 /Library/MobileSubstrate/DynamicLibraries/ 目录下

  NSMutableDictionary *appBundleIds=[NSMutableDictionary dictionary];
    NSMutableDictionary *filter=[NSMutableDictionary dictionary];
    appBundleIds[@"Filter"]=filter;
    NSMutableArray *bundles=[NSMutableArray array];
    filter[@"Bundles"]=bundles;

    Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
    NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
    NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);
    //设备安装的app列表
    NSArray *appList = [workspace performSelector:@selector(allApplications)];
    Class LSApplicationProxy_class = object_getClass(@"LSApplicationProxy");
    for (LSApplicationProxy_class in appList)
    {
        //这里可以查看一些信息
        NSString *bundleID = [LSApplicationProxy_class performSelector:@selector(applicationIdentifier)];
        NSString *version =  [LSApplicationProxy_class performSelector:@selector(bundleVersion)];
        NSString *shortVersionString =  [LSApplicationProxy_class performSelector:@selector(shortVersionString)];
        NSLog(@"bundleID:%@\n version: %@\n ,shortVersionString:%@\n", bundleID,version,shortVersionString);
        [bundles addObject:bundleID];
    }
    NSString *path=[NSHomeDirectory() stringByAppendingString:@"/Documents/libReveal.plist"];
    BOOL v= [[appBundleIds description] writeToFile:path atomically:YES];
    NSLog(@"path:   %@",path);
  • 操作完以上步骤后,重启设备,重启reveal,打开指定app,发现reveal里已经出现可以查看的app了

  • 发现有2个今日头条,因为一个是wifi连接的一个是usb连接的,建议选择usb因为传输快

  • 然后选择一个即可查看此应用的层级结构,如果查看不了,cmd+R 刷新

或者直接使用MJ大佬写的插件可以避免上面的情况发生

屏幕快照 2018-11-28 下午11.29.53.png 屏幕快照 2018-11-28 下午11.30.00.png 屏幕快照 2018-11-28 下午11.30.09.png
  • 注意修改完可以查看某个app后。杀掉app重新打开,在reveal里即可发现app出现了

  • 如果想屏蔽一些软件越狱检测,可以添加雷锋源 apt.abcydia.com

  • 然后搜索liberty安装,安装成功后在设置里 找到librety,可以设置某个app屏蔽越狱检测,以及某个app屏蔽注入插件

image image
  • MJ源失效了,可以在Cydia搜索安装CCRevealLoader,然后将之前提到的libReveal.dylib修改名字为 CCRevealLoader.dylib,并覆盖/Library/MobileSubstrate/DynamicLibraries/CCRevealLoader.dylib 下的文件

相关文章

  • 逆向-分析别人的APP界面

    1.可以使用cycript 在cydia里安装cycript插件,用于运行时分析,修改界面。但是操作比较麻烦,所以...

  • iOS逆向工程 -- 逆向APP的思路

    逆向APP的思路 (1)界面分析 Cycripthttps://www.jianshu.com/p/a8422a0...

  • 逆向APP的思路

    一、APP从开发到安装到手机的过程 二、逆向APP的思路 界面分析Cycript、Reveal 代码分析对Mach...

  • Mach-O

    逆向APP的思路 1.界面分析A.CycriptB.Reveal 2.代码分析A.对Mach-O文件的静态分析B....

  • 六、初识Mach-O

    一、ipa了解是个压缩包,解压后 二、逆向app思路; 界面分析Cycript:通过命令行查看界面的组成情况,子控...

  • 越狱开发(五) —— Mach-O

    APP从开发到安装到手机的过程1 APP从开发到安装到手机的过程2 逆向APP的思路 界面分析 Cycript、R...

  • iOS逆向 Reveal

    前言 逆向分析的时候可以用Reveal动态分析目标APP的UI界面来帮助我们更快的找到我们想要分析的位置,本文主要...

  • iOS 逆向开发(三)代码分析-dump-class/Hoppe

    iOS逆向系列: 1、iOS 逆向开发(一)界面分析 - Cycript&Reveal2、iOS 逆向开发(二)砸...

  • iOS 逆向开发(二)砸壳/脱壳-Clutch、dumpdecr

    iOS逆向系列: 1、iOS 逆向开发(一)界面分析 - Cycript&Reveal2、iOS 逆向开发(二)砸...

  • iOS逆向反编译

    iOS逆向 准备:完美越狱iPhone 逆向APP思路:1,代码分析 2,对Mach-O文件的静态分析MachOV...

网友评论

      本文标题:逆向-分析别人的APP界面

      本文链接:https://www.haomeiwen.com/subject/cobtcqtx.html