那个什么CISP-PTS破证书要3年审核,还要假巴一二的线上考核一下,关键我尊重规则,但是你尊重一下我们不用windows系统的人呗!!!索性直接破解吧
几年不见,还用上开源的什么垃圾考试程序整得高大上呗~~~
linxu用习惯了,没有windows,只能用虚拟机呗,结果这个吊毛还不让我用虚拟机~~~
还是个.net C#写的开源程序
开源地址如下:
https://github.com/SafeExamBrowser/seb-win-refactoring
我linux啊,不能用啊,只能用虚拟机啊,结果你不让我用,那我只能干掉你呗~
直接下载C#源代码修改编译呗,但是.net以及各种版本依赖不一样,编译替换了也没有用,这个吊毛还搞了个Check.exe来做配置用。
众所周知,朕日理万机,哪有时间去慢慢读代码修改啊,直接下载被考试平台魔改的成品改呗~~~
为什么我不喜欢用.net写半编译程序?就是太特么好改了。
下载成品安装好了,直接反编译.net的可执行程序即可。
我一直说世界上只有两种编程语言,一是编译型语言,二是解释型语言。.net介于两者之间,可以直接逆向出源代码,但是人家又正儿八经的编译成二进制文件,好吧!直接逆向源代码分析。
众所周知,我基本不用windows,那么linux下虚拟机windows你要限制我,我就破解你呗。
首先不是检测虚拟机吗?直接定位动态库SafeExamBrowser.SystemComponents.dll
找到VirtualMachineDetector方法,里面就是判断各种虚拟机的。
他的逻辑是如果所有的虚拟机判断最后都return false,就证明不是虚拟机。那还不简单吗?直接将所有return全部改成false。反正return不管什么变量都是bool型。
当然我们要修改这个反编译的.net程序需要用到LF指令来进行反编译
OK,虚拟机的问题解决了,但是这个吊毛程序还要检测动态的显示器。
那不能怪我了,直接定位一波,找到SafeExamBrowser.Monitoring.dll动态库,这个动态库就是判断显示器是否接入其他的第三方显示器的或者是虚拟机显示器,防止接HDMI让人家答题这种设定嘛~~~
定位到ValidationResult方法,都懒得去看逻辑,你喜欢
if (this.TryLoadDisplays(out displays))
然后就去找各种显示器呗,我就直接取反就行了,直接
if (!this.TryLoadDisplays(out displays))
当然啊,记住,汇编修改,毕竟人家也是编译成二进制的。
修改完成,反汇编保存SafeExamBrowser.SystemComponents.dll和SafeExamBrowser.Monitoring.dll两个dll文件,再来看看
完美搞定
有事没事搞这些花里胡哨的,还不如多研究一下怎么真正考核、真正安全的一些东西。打完收工,睡觉,啥也不是~~~~
原文始发于微信公众号(蓝极战队):SafeExamBrowser答题系统完美破解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论