全远控

顾名思义,全远控意味在考试期间内,ELPIS 全程控制考生的键盘鼠标进行答题,100%代劳。全远控建立在无干预木马的基础上,在系统不察觉任何异常的情况下,远程操作考生的键盘鼠标。为了更好的理解全远控,ELPIS 推荐现行阅读无干预木马原理。

在植入木马后控制一台计算机的键盘和鼠标,这件事听起来没什么大不了的,对吧?

但实际情况比这复杂得多!全远控得重点不在于“控制”,而在于“隐形”和“突破封锁”。

“隐形”很好理解。考试软件会监控每一次键盘敲击、每一次点击的来源。实现远程控制有两种途径:

  1. 通过操作系统自带的函数实现。比如使用SetCursorPos函数即可方便的移动鼠标到给定的坐标。但问题是,这样做相当于“打名牌”,直接告诉考试软件目前移动鼠标的并不是考生,而是某一个正在运行的软件。因为这样触发的鼠标移动并不来源于一个真实的设备。在 Windows 系统中,任何输入设备(键盘、鼠标、触控板、麦克风、摄像头等)都被算作一种 Human Interface Device(HID)。每一个 HID 设备都有其对应的唯一识别码,所以当你使用纯编程方案去移动鼠标时,这次的移动并不来源于任何一个 HID 设备,从而导致考试软件告警。
  2. 虚拟鼠标方案。通过安装一个虚拟驱动,模拟出真实鼠标/键盘的输入。因为是驱动级别的模拟,所以虚拟鼠标也会被视作一个 HID 设备,有自己的 HID 识别码。但问题是,现在你的计算机就会有两套鼠标、两套键盘。试问有哪个考试软件会准许考生在考试时同时使用两个鼠标、两个键盘呢?

所以以上两种方案其实都不可行,都不够”隐形“。况且,麻烦才刚刚开始。我们先来看看”突破封锁“具体指的是什么。

”突破封锁“指的是输入屏蔽技术。对计算机来说,输入分为两种:Real Input(真实输入) 和 Injected/Virtual Input(虚拟输入)。

当你用键盘打字,或者点下鼠标的那一刻,对你来说只是屏幕上出现了对应的点击效果或者打出来了对应的字母。但实际上在背后,有一套复杂的流程。

首先,当按键被按下的时候,物理开关闭合,负责该按键的电路通电,产生一个高电平。高电平信号传输到计算机,操作系统通过硬件感应到电路闭合,而后产生一个键入事件(Key-in Event)。键入事件再被正在运行的软件接收,然后渲染到屏幕上。

以上就是”真实输入“的全部流程。

而”虚拟输入“指的是键入事件并非来源于一个真实的设备,而是通过某种方式”凭空“产生的,所以一切来源于远程的输入都是虚拟的。毕竟,任何远程控制都没有办法真正的按压你的鼠标键盘,真正让电路闭合。

而考试软件有能力区分“真实输入”和“虚拟输入”,它们只接收来自真实物理设备的输入!如果在考试过程中考试软件检测出虚拟输入,有些考试软件会只将其拦截,具体表现为远控失效,无法点击也无法打字;有些考试软件则会直接报警退出,具体表现为考试中断。

ELPIS 基于无干预木马方案,研发出了颠覆“虚拟”与“真实”的输入方案。对于计算机来说,每一次的输入皆为真实输入。无论考生使用触控板亦或是传统鼠标,ELPIS 都可以实现100%的真实输入!