JamesHoi 发表于 2022-7-4 17:30

绕过某监考客户端检测

本帖最后由 JamesHoi 于 2022-7-5 03:41 编辑

【文章首发于我的博客[文章](https://jameshoi.github.io/2022/06/30/invigilate/)】
# 绕过某监考客户端检测

现在的开发人员安全意识还是薄弱,用c#写的还就加了一点点混淆。本文章分两部分,一是开启软件时的校验,二是绕过软件检测系统。**重点强调!!!本文章只限于交流逆向技术用途,请不要利用本文章做违反学校条例行为!!**


## 文件校验

在加载的时候按暂停,很容易能找到检查软件版本的位置



很明显是验证版本



跟下去之后很容易找到校验位置,应该是一个任务组,运行其中一个任务



一直跟下去,能找到这个线程组的线程函数,可以看到有校验的函数。补充一句,软件是若校验本地exe和dll与校验码不一致则重新下载



这里不再阐述如何修改,直接修改c# IL为Nop即可,上图最后有个needRestart,意思是更新软件重启,可见需要直接return,满足那个if条件。



修改后变这样,用dnspy保存即可



## 检测系统

当开着有通讯软件时会报错,显示要求关闭,甚至会发现是虚拟机,远程桌面等。




当显示提示的时候dnspy点暂停,很容易能找到相关位置



都叫monitorSystem了,明显A是检测函数,nop掉即可



## 继续分析

前面两部分其实已经够了,这里再分析一下流程,先获取了学生信息,videoMnager打开摄像头,连接一个鼠标按下的event



下图a函数应该是截图,查看电脑当前屏幕,有机会上传,另外那个B函数有机会是上传系统环境进程,这里调试不了,可能需要实际考试才能进入这个函数。



## 结果
可以看到打开qq,甚至是虚拟机的情况下都能正常运行。这里没有继续分析监考客户端是否有其他监控过程,所以就算你一意孤行打算作弊,也请你也自行斟酌带来的风险和后果。有时间研究逆向破解监考客户端,不如多花些时间学习!



JamesHoi 发表于 2022-7-15 17:53

我去年买了各表 发表于 2022-7-5 13:28
我想请问下你monitorSystem是哪里看到的? 在信息框暂停后那张图片里面没看见有monitorSystem啊

信息框暂停后一直跳出就到monitorSystem.A函数的调用地方了

我去年买了各表 发表于 2022-7-5 13:28

从0开始的小小怪 发表于 2022-7-5 09:34

这不是oms监考吗

冰雨轩 发表于 2022-7-4 17:42

观建不知道这个是什么东西来着!

wei190 发表于 2022-7-4 18:34

我的原则是,能破坏的就先破坏掉

cyxnzb 发表于 2022-7-4 21:59

最后一张图马赛克没打上,导致你上一张图马赛克等于没打

xiadongming 发表于 2022-7-4 22:25

lsy832 发表于 2022-7-4 22:32

无止境的学啊

gohkh 发表于 2022-7-4 23:50

无止境的学啊

592618243 发表于 2022-7-5 02:02

可以啊!写的挺好{:301_997:}

JamesHoi 发表于 2022-7-5 02:42

本帖最后由 JamesHoi 于 2022-7-5 03:43 编辑

cyxnzb 发表于 2022-7-4 21:59
最后一张图马赛克没打上,导致你上一张图马赛克等于没打
确实,疏忽了

hellozhanghe 发表于 2022-7-5 08:14

看来还得加强
页: [1] 2 3 4 5 6 7 8
查看完整版本: 绕过某监考客户端检测