发布信息

疫情期间线上考试经验分享:软件逆向方法与注意事项

作者:软荐小编      2024-08-31 09:04:14     197

疫情期间经历了很久的在线考试,最近也遇到了类似的需求,就想写一下相关的,为了防止暴露哪个软件,文章里就不放图了,只说说方法。

逆相关

我目前遇到的主流程序是C#/Electron程序,也有一些C++程序。

C#可以直接使用DnSpy查看代码并修改

Electron可以解包asar查看代码,修改后也可以打包替换。

一般IDA辅助分析C++后,可以手动跳过一些函数或者判断

目前还没发现对文件本身进行验证的例子,如果以后出现的话,需要hook相关函数来绕过。

注意有些修改不能随便删除,因为有些会有操作记录等等,一定要保留好。

准备

想办法进入考试模式,进行初步测试,进入前上网进行远程控制(防止有些软件限制未知进程,可以直接注入系统进程),记录考试过程中存在的进程,以及考试相关进程加载的dll,简单筛查一下这些文件软件记录,就能找到涉及反作弊的文件。

以下说明的是考试过程中如何使用遥控器辅助答题。

防护措施及应对措施 1. 截屏原理

Windows考试软件中防止截图的方法其实很简单,都是基于SetWindowDisplayAffinity API。

旁路

逆向之后,删除该函数调用,或者修改第二个参数内容。如果是Electron浏览器,可以在ASAR脱壳代码中搜索setContentProtection软件记录,如果存在则删除其调用。

2.模拟量输入原理

SetWindowsHookEx 钩住 WH_KEYBOARD_LL,并确定 KBDLLHOOKSTRUCT 的 flags。当模拟键盘输入时,flags 为 LLKHF_INJECTED

SetWindowsHookEx钩住WH_MOUSE_LL,并判断MOUSEHOOKSTRUCT的wHitTestCode,当按下真实鼠标按键时为0,当使用模拟鼠标时为1。

旁路

软件记录_记录软件有哪些_记录软件使用时间的app

1.反向搜索钩子回调函数(搜索CallNextHookEx调用,一般这个调用上面几行都是过滤函数),修改判断条件或者直接删除相关内容

2.SetWindowsHookEx的回调是链式的,后面添加的先被处理。也就是说,只要你的回调在链的头部,你就可以自己修改flags值,然后继续传递给CallNextHookEx。

3. 流程

将使用的远程控制注入到系统进程中,可以避免可疑进程名的检测,但大部分检查软件没有太多的进程检测,无法检测到。

4. 交通

你可以通过代理来抓包。有些考试软件不会发回加密信息。你可以直接截取数据包,用正则表达式匹配,修改数据包,然后重新发送。

指甲重叠

本文内容仅供技术研究使用,不得用于非法活动。

作者:qwqdanchun (簞純的博客,)

相关内容 查看全部