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

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

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,发起视频,得到最终效果。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,751评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • Lists.transform是Guava collect的里面的方法,提供将当前list中的对象转换为另外一个需...
    tonyyan阅读 1,911评论 0 0
  • 文/雨炼 【1】 我大一的室友都是大四的学姐。 三个文院的妹子,两个新传的妹子。 其中文院的妹子读研,今年正好研究...
    雨炼阅读 567评论 0 2
  • 欢乐颂第二季结束了。 樊胜美说,我终于有存款了,我要为自己活。 曲筱绡说,从今以后,我曲筱绡不靠家里,靠我自己。 ...
    西窗少女阅读 584评论 0 0