iOS逆向,Hook,Makeblock,Arduino机器人视

作者: 天才小L | 来源:发表于2017-02-27 21:48 被阅读399次

    最近在玩积木机器人,很遗憾该设备没有摄像头,那么我有一个多余的手机,自己实现一下吧。

    IMG_0079.JPG

    在原App上加入了一个视频窗口:


    IMG_0080.JPG

    最终效果:


    Untitled.gif
    实现思路:
    1.两台设备建立视频通信;
    2.注入视频动态库到 Makeblock APP;
    3.前置手机发起视频请求。
    
    源码:
    https://github.com/bojy123/MakeBlockHook
    
    实现步骤:
    1.下载Makeblock,在越狱设备砸壳;
    2.利用class-dump导头:
    屏幕快照 2017-01-30 下午4.11.03.png
    我们直接去找AppDelegate,在启动时候初始化必要方法,并将视频窗口加载到window层上。
    
    3.开发Hook使用的dylib:

    这里使用环信SDK进行视频通讯,需要Hook只有application方法,其余都是环信SDK的使用。

    CHDeclareClass(AppDelegate);
    
    CHMethod2(BOOL, AppDelegate, application, id, arg1, didFinishLaunchingWithOptions, id, arg2) {
        BOOL value = CHSuper2(AppDelegate, application, arg1, didFinishLaunchingWithOptions, arg2);
        // 获取属性,可以在keyWindow上加载视图
        Ivar ivar = class_getInstanceVariable([self class], "_window");
        UIWindow *keyWindow = object_getIvar(self, ivar);
           
        // *****初始化环信SDK*****
    
        return value;
    }
    
    __attribute__((constructor)) static void entry() {
        CHLoadLateClass(AppDelegate);
        CHHook2(AppDelegate, application, didFinishLaunchingWithOptions);
    }
    
    
    4.利用yololib注入dylib到Makeblock app中:
    ./yololib [被插入dylib的二进制文件] [要插入的dylib]
    
    5.将Makeblock app重签名,安装到手机上;
    6.前置手机安装集成环信的app,发起视频,得到最终效果。

    相关文章

      网友评论

      • SharsBin:楼主方便共享dylib的代码么
        SharsBin:@十位数 而且 你在hook的时候头文件在是不需要导入的么
        SharsBin:@十位数 因为我在做一个 把一个静态库集成到其他app去 去测试 公司开发的静态库 不知道可否交流一下 加一下qq 我的qq 969175397
        天才小L:可以啊,本来想上传github,但是环信体积太大。其实核心,就只有我贴出来那块
      • 阿雯216:不错哦👍

      本文标题:iOS逆向,Hook,Makeblock,Arduino机器人视

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