IOS端监测APP被代码注入

2020-08-26  本文已影响0人  HelloBinary

如何代码注入可以看https://www.jianshu.com/p/e20914416c6c

APP代码注入一般都是通过加载外部的动态库来实现hook,那么我们如何进行防护呢?
运行app,我们在控制台lldb那里输入 指令image list 可以看到目前所加载到镜像。什么是镜像?简单点理解就是应用在硬盘中,使用时根据mach-o的数据描述拷贝到内存中的一份内存。


image.png

我们打包上线的时候可以通过dyld获取自己需要用到的镜像列表。

#import <mach-o/dyld.h>
#import <mach-o/loader.h>
int count = _dyld_image_count();
    for (int i =0; i<count; i++) {
     const  char*  imageName = _dyld_get_image_name(i);
        printf("name: %s \n",imageName);
        
    }

这个时候我们根据我们的镜像列表作为我们的白名单(用字符串保存起来),然后判断是否有其他的动态库引用(越狱插件,代码注入等)。隐形的在一些网络请求中传给服务器,判断用户的行为给予处理。

上一篇 下一篇

猜你喜欢

热点阅读