最新支持7.2!用C++干掉讨厌的学生机房管理助手

本文详细介绍了如何分析并解除学生机房管理助手的控制。通过研究,作者发现了软件自复制进程的命名算法,并提供了C++代码来计算进程名。文章还涉及使用.NET逆向工程工具dnSpy进行脱壳,最终揭示了结束软件进程的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文中算法只适用于学生机房管理助手7.2版本。

上信息课时,教师会用极域等电子教室控制学生,这就相当于个木马。要结束掉它进程并不难,taskkill、ntsd都能结束掉,但是痛苦地发现,某些机房装了一款学生机房管理助手!

就是它!暴力结束电子教室,它会蓝你一脸!亲身经历过的都想暴揍这个软件作者。

 

经研究,是如上两个进程在作怪。jfglzs.exe这个程序位于助手的安装目录下,好理解,但是下面那个进程,通常是3个字母加1个数字,每天名字都不一样。查看文件属性

 

原来是助手安装目录下prozs.exe的自我复制。 我调整系统时间来实验,可以得知其使用特定算法来生成名字而不是随机。

DIE扫描结果

 原来是.NET写的,直接拖进.NET逆向软件dnSpy,发现其有壳保护!用de4dot(这里我用GUI版)脱壳

 脱壳后就可以直接用dnSpy打开。

打开Form1的加载函数,发现可疑函数LD1NpDR6K,打开函数内容,果然找到目标代码

num3的值其实就是当前的月+日的和,后面就是经过一系列求余操作,拼出这4个字符。改写成C++(需要引用ctime头文件来计算num3,也可以用其他api来计算):

time_t curtime;
time(&curtime);
tm *nowtime = localtime(&curtime);
int n3=1 + nowtime->tm_mon + nowtime->tm_mday;
int n4=n3%7,n5=n3%9,n6=n3%5;
char c1,c2,c3,c4;
if(n3%2!=0){
	c1=103+n5;c2=111+n4;c3=107+n6;c4=48+n4;
}
else{
	c1=97+n4;c2=109+n5;c3=101+n6;c4=48+n5;
}
char c[5]={c1,c2,c3,c4,'\0'};

 最后得出的字符串c即为结果,加上“.exe”就是prozs.exe自我复制的文件名了。知道了文件名,再将jfglzs.exe和算出了文件名一起结束进程,助手就GG了!

注:prozs.exe自我复制的目录在C:\Program Files\temp***\下,temp后面的字符也是经过算法计算的,算法也在上面那个函数中。不过对我们来说帮助不大,如需删除,直接在explorer中把temp开头的文件夹全删掉即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小流汗黄豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值