❶ 極域電子教室教師機怎麼既能上網又能控制學生電腦
學生不能瀏覽網頁是老師設置的
學生電腦上的極域電子教室會開放4705埠(2010及前開放4605),老師可能是通過埠與學生發送實時視頻的,至於老師能上網,極域只是讓你們不上網(這一點你肯定知道).但是你的疑點是:學生不能上網,老師怎麼能向學生端發送消息讓學生端阻止學生上網?前面講到4705埠,通過埠發送數據包,學生端截取數據包,檢查就行了。
打個比方,埠相當於家門口郵箱,郵箱被小明(極域學生端)管著,教師信件(數據包)被小明拿到,檢查看叫他做什麼。
如果想防止這種情況的話,win+R輸入taskkill /f /im StudentMain.exe(在cmd被允許的情況下)
如果cmd也不能用,就用C++寫程序:
```
void process_e() {
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, NULL);
CloseHandle(hToken);
}
bool process_k(DWORD dwPid) {
printf("Kill進程Pid = %d\n", dwPid);
//關閉進程
HANDLE killHandle = OpenProcess(PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION | // Required by Alpha
PROCESS_CREATE_THREAD | // For CreateRemoteThread
PROCESS_VM_OPERATION | // For VirtualAllocEx/VirtualFreeEx
PROCESS_VM_WRITE, // For WriteProcessMemory);
FALSE, dwPid);
if (killHandle == NULL)
return false;
TerminateProcess(killHandle, 0);
return true;
}
bool process_f(std::string strProcessName, DWORD& nPid) {
TCHAR tszProcess[64] = { 0 };
lstrcpy(tszProcess, _T(strProcessName.c_str()));
//查找進程
STARTUPINFO st;
PROCESS_INFORMATION pi;
PROCESSENTRY32 ps;
HANDLE hSnapshot;
memset(&st, 0, sizeof(STARTUPINFO));
st.cb = sizeof(STARTUPINFO);
memset(&ps, 0, sizeof(PROCESSENTRY32));
ps.dwSize = sizeof(PROCESSENTRY32);
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
// 遍歷進程
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshot == INVALID_HANDLE_VALUE)
return false;
if (!Process32First(hSnapshot, &ps))
return false;
do {
if (lstrcmp(ps.szExeFile, tszProcess) == 0) {
//找到制定的程序
nPid = ps.th32ProcessID;
CloseHandle(hSnapshot);
// printf("找到進程: %s\n", tszProcess);
return true;
//getchar();
//return dwPid;
}
} while (Process32Next(hSnapshot, &ps));
CloseHandle(hSnapshot);
return false;
}
int main(){
DWORD pid;
process_e();
process_f("StudentMain.exe",pid);
process_k(pid);
}
```