极域电子教室,很容易就杀掉了,加上学生机房管理助手,也只要用万能密码就可以解除(mythware_super_password是极域的万能密码)。但是如何自动解除呢?
有人想到直接模拟,用API控制鼠标移动和键盘输入,输入密码解除控制。但是这样做不仅麻烦而且一旦被控制就无法脱离,只能进行预防。再加上教师端可以看见学生的进进出出,所以这个方法肯定是不明智的。
我们可以思考一下,极域是怎么全屏的呢?很简单,他是调用了系统命令或API才全屏的,也就是说,他的全屏并不是强行在你屏幕上糊一个画面(API)。这正好是极域的弱点——全屏的依然是窗口。这就极大的简单了我们的解控算法。又因为学生机房管理助手并没有禁止API,所以我们利用WIndows API 可以完成解控
具体实现:
首先了解到WIndowsapi的一个命令:ShowWindow。用他可以直接隐藏或恢复窗口,这个隐藏会直接把该窗口的任务栏图标消失,还可以无视这个窗口的所有命令,最好的是:这样老师那里不会显示你退出,因为进程还在和老师沟通。但是我们看看,ShowWindow必须要窗口的hwnd。这就又要普及到GetForegroundWindow函数,可以直接把最上层的窗口的hwnd取到。而问题又来了:我们怎么在全屏的时候操纵程序取到hwnd呢?我想,可以判断如果鼠标在0,0位置(最左上角),就执行GetForegroundWindow和ShowWindow了。具体的判断鼠标代