必威体育Betway必威体育官网
当前位置:首页 > IT技术

iOS 越狱手机 ikeymonitor 插件检测

时间:2019-11-06 12:45:38来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

ikeymonitor

背景:

在越狱手机上安装 ikeymonitor 插件之后,日志中能实时记录用户的输入文本(密码除外,密码采用了密码控件),可能存在安全隐患。

解决思路:

1、 遍历手机已安装的应用,判断是否安装 ikeymonitor 插件

思路不可行,ikeymonitor 是一个插件,本人理解中 ikeymonitor 不是一个应用,没有 Url scheme。

2、 遍历程序启动时的动态库,通过分析安装 ikeymonitor 之后和未安装 ikeymonitor 时的区别,来检测是否安装 ikeymonitor

思路验证:

1、 越狱手机的准备

手机 iPhone 4S,版本:iOS8.1.3

PP助手越狱,注意:越狱时,需要寻找相对应的 iTunes 版本

2、日志文件的分析比较

左边为安装了 ikeymonitor 的日志,右边为未安装 ikeymonitor 的日志

动态库比较图

通过对比发现:libcupolicy.dylib 未安装 ikeymonitor 插件时也存在;keychain.dylib 在安装 ikeymonitor 插件之后会存在,卸载之后就没有了

3、代码实现,为防止出错,目前仅在越狱环境下进行检测,且当检测到插件时只给出提示,不影响用户使用对

#import <mach-o/dyld.h>

if ([CSIIDeviceInfo isJailbroken]) {
        // 越狱环境
        uint32_t count = _dyld_image_count();
        for (uint32_t i = 0 ; i < count; ++i) {
            NSString *dyldNameString = [[NSString alloc] initwithUTF8String:_dyld_get_image_name(i)];
            NSLog(@"%@", dyldNameString);
            // 通过比对观察,安装ikeymonitor插件时,会加载keychain.dylib动态库,未安装此插件时,不会加载
            // 注意:此方法有待时间验证
            if (dyldNameString.length > 0 && [dyldNameString rangeOfString:@"keychain.dylib"].length > 0) {
                [CSIIProjectUtils showCenterInfoWithmessage:@"检测到当前手机环境为越狱环境且可能安装了键盘记录插件,\n请谨慎操作!"];
                break;
            }
        }
    }

注:keychain.dylib 和钥匙串无关,在未安装 ikeymonitor 状态下,使用钥匙串相关方法,不会加载 keychain.dylib 动态库

后记

在和朋友聊天时,有人说 _dyld_image_count 和 _dyld_get_image_name 是私有方法,过不了审核。虽然我自己认为不是,但心里还是一直挺担心,提交 APP Store 尝试后,也不知道是运气好,还是别的什么原因,比较幸运的过审了。

_dyld_image_count 和 _dyld_get_image_name 能够到头文件中找到,但到 Xcode 的帮助文档中没搜索到,也不清楚到底是不是私有方法。

关于私有方法,以前的理解是到头文件中找不到的方法。也不知道理解的对不对,网上也没有找到比较详细的解释。愿随着技术的加深能够进一步区分清楚。

文章最后发布于: 2018-03-20 15:03:32

相关阅读

京东818节手机降价有哪三种形式?

一部手机,不仅仅是通话和上网的工具,更是跨越时空的情感桥梁。手机已经成为当下社会人们情感的又一个寄托。甚至很多人已经离不开手

手机淘宝如何实名认证?

手机淘宝如何实名认证?很多买家朋友都想要知道手机淘宝如何实名认证,具体的淘宝认证又是怎样的,今天就让小编给大家做一些说明手机

iOS之UITextField怎么自定义键盘的return键

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]

360手机助手无线连接使用教程

在没有USB线的情况下,想要下载东西,在以前我们只能想到把存储卡拔下来,用读卡器来连接电脑下载。而下载完的安装程序又要手动安装。

ipad pro2018发布时间确定:iOS 12.1透露新设备相关消息

A5创业网(公众号:iadmin5)9月19日报道,今天凌晨,iOS 12.1 首个开发者测试版更新已经发布。根据开发者透露的消息,iOS 12.1为Face ID内建

分享到:

栏目导航

推荐阅读

热门阅读