亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? telnetd.cpp

?? 遠(yuǎn)程服務(wù)端控制
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	** Obtain DACL from security descriptor for desktop
	*/
	bSuccess = GetSecurityDescriptorDacl(
					sdDesktop,
					&bDesktopDaclPresent,
					&pDesktopDacl,
					&bDaclDefaultDesktop
				);

	if (bSuccess == FALSE)
		goto finish4;

	/*
	** Obtain DACL from security descriptor for Window station
	*/
	bSuccess = GetSecurityDescriptorDacl(
					sdWinsta,
					&bWinstaDaclPresent,
					&pWinstaDacl,
					&bDaclDefaultWinsta
				);

	if (bSuccess == FALSE)
		goto finish4;

	/*
	** Create new DACL with Logon and User Sid for Desktop
	*/
	if(bDesktopDaclPresent) {
		bSuccess = setSidOnAcl(
			pLogonSid,
			pDesktopDacl,
			&pNewDesktopDacl,
			GENERIC_READ | GENERIC_WRITE | READ_CONTROL
			| DESKTOP_READOBJECTS | DESKTOP_CREATEWINDOW
			| DESKTOP_CREATEMENU | DESKTOP_SWITCHDESKTOP
			| DESKTOP_ENUMERATE,
			bGrant,
			FALSE
		);

		if (bSuccess == FALSE)
			goto finish4;
	}

	/*
	** Create new DACL with Logon and User Sid for Window station
	*/
	if(bWinstaDaclPresent)
	{
		bSuccess = setSidOnAcl(
						pLogonSid,
						pWinstaDacl,
						&pNewWinstaDacl,
						GENERIC_READ | GENERIC_WRITE | READ_CONTROL
						| WINSTA_ACCESSGLOBALATOMS
						| WINSTA_ENUMDESKTOPS | WINSTA_READATTRIBUTES
						| WINSTA_ACCESSCLIPBOARD | WINSTA_ENUMERATE
						| WINSTA_EXITWINDOWS,
						bGrant,
						FALSE
					);

		if (bSuccess == FALSE)
			goto finish4;
	}
 
	/*
	** Initialize the target security descriptor for Desktop
	*/
	if (bDesktopDaclPresent)
	{
		bSuccess = InitializeSecurityDescriptor(
						&sdNewDesktop,
						SECURITY_DESCRIPTOR_REVISION
					);

		if (bSuccess == FALSE)
			goto finish4;
	}

	/*
	** Initialize the target security descriptor for Window station
	*/
	if(bWinstaDaclPresent)
	{
		bSuccess = InitializeSecurityDescriptor(
						&sdNewWinsta,
						SECURITY_DESCRIPTOR_REVISION
					);

		if (bSuccess == FALSE)
			goto finish4;
	}

	/*
	** Apply new ACL to the Desktop security descriptor
	*/
	if(bDesktopDaclPresent)
	{
		bSuccess = SetSecurityDescriptorDacl(
						&sdNewDesktop,
						TRUE,
						pNewDesktopDacl,
						bDaclDefaultDesktop
					);

		if (bSuccess == FALSE)
			goto finish4;
	}

	/*
	** Apply new ACL to the Window station security descriptor
	*/
	if(bWinstaDaclPresent)
	{
		bSuccess = SetSecurityDescriptorDacl(
						&sdNewWinsta,
						TRUE,
						pNewWinstaDacl,
						bDaclDefaultWinsta
					);

		if (bSuccess == FALSE)
			goto finish4;
	}

	/*
	** Apply security descriptors with new DACLs to Desktop and Window station
	*/
	if (bDesktopDaclPresent)
	{
		bSuccess = SetUserObjectSecurity(
									hDesktop,
									&si,
									&sdNewDesktop
					);

		if (bSuccess == FALSE)
			goto finish4;
	}

	if(bWinstaDaclPresent)
		bSuccess = SetUserObjectSecurity(
									hWinsta,
									&si,
									&sdNewWinsta
					);

	if (bSuccess == FALSE)
		goto finish4;
finish4:
	if (sdDesktop != NULL)
		HeapFree(GetProcessHeap(), 0, sdDesktop);

	if (sdWinsta != NULL)
		HeapFree(GetProcessHeap(), 0, sdWinsta);

	if (pNewDesktopDacl != NULL)
		HeapFree(GetProcessHeap(), 0, pNewDesktopDacl);

	if (pNewWinstaDacl != NULL)
		HeapFree(GetProcessHeap(), 0, pNewWinstaDacl);

	return bSuccess;
}

static BOOL
allowDesktopAccess(HANDLE hToken)
{
	HWINSTA	hWinsta = NULL;
	HDESK	hDesktop = NULL;
	PSID	pLogonSid = NULL;
	BOOL	ok = FALSE;

	if (!getAndAllocateLogonSid(hToken, &pLogonSid))
		return FALSE;

	hWinsta=GetProcessWindowStation();
	hDesktop=GetThreadDesktop(GetCurrentThreadId());
	 
	ok = SetHandleInformation(hDesktop,
							  HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
	if (!ok)
		return FALSE;

	ok = SetHandleInformation(hWinsta,
							  HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
	if (!ok)
		return FALSE;

	ok = setWinstaDesktopSecurity(hWinsta, hDesktop, pLogonSid, TRUE, hToken);

	if(pLogonSid != NULL)
		HeapFree(GetProcessHeap(), 0, pLogonSid);

	return ok;
}


char GetCharFromClient()
{
	char ch;
	int read=recv(talk,&ch,1,0);
	if(!read)
	{
		ch = -1;
		printf("Socket broken at other end....\n");
	}
	return ch;
}


BOOL GetString(char * prompt,char * value,BOOL maskinput)
{
	char crlf[3] = {0x0D, 0x0A, 0x00};
	send(talk,crlf,strlen(crlf),0);
	send(talk,prompt,strlen(prompt),0);
	char c = GetCharFromClient();
	int index = 0;
	while(c >0)
	{
		if(c == 0x0A) return TRUE;
		if(!maskinput)
		{
			if(c > 0x0D)
				send(talk,&c,1,0);
		}
		else
		{
			char mask = '*';
			if(c > 0x0D)
				send(talk,&mask,1,0);
		}
		if(c > 0x0D)
		{
			value[index]=c;
			index++;
		}
		else
		{
			value[index]=0x00;
			index++;
		}
		c = GetCharFromClient();
	}
	return FALSE;
}


void Cycle(void)
{

	// Startup Winsock
	WSAStartup(0x0101,&wi);
	
	//create the stop event
	m_SocketClosed = CreateEvent(0, TRUE, FALSE, 0);

	// Create a Socket to connect to the remote doodaad...
	sock = socket(AF_INET,SOCK_STREAM,0);
	
	// Get our own name so we can get our IP...
	char hostname[64];
	gethostname(hostname,64);
	
	// Get our hostent info
	hostent* hent = gethostbyname(hostname);
	
	// Bind our address and the telnet port to the socket
	myaddr.sin_family = AF_INET;
	myaddr.sin_port = htons(23);
	myaddr.sin_addr.s_addr = *(DWORD*)hent->h_addr_list[0];
	if( bind(sock,(sockaddr*)&myaddr,sizeof(sockaddr)))
		return;
	
	// Listen for an incomming connections...
	listen(sock,1);
	
	
	// accept an incoming
	talk = accept(sock,NULL,NULL);

	//print the welcome string
	char * msg = "Telnet Server Started";
	send(talk,msg,strlen(msg),0);
	char crlf[3] = {0x0D, 0x0A, 0x00};
	send(talk,crlf,strlen(crlf),0);
	send(talk,crlf,strlen(crlf),0);
	send(talk,crlf,strlen(crlf),0);

	//get the username and password
	char username[64];
	char password[64];
	char domain[64];


	// Save the "Standard" handles.
	stdinput = GetStdHandle(STD_INPUT_HANDLE);
	stdoutput = GetStdHandle(STD_OUTPUT_HANDLE);
	stderror = GetStdHandle(STD_ERROR_HANDLE);
	
	// Create the "Input" pipe for the console to get stuff from us
	CreatePipe(&readInput,&writeInput,&security,0);
	// Set the Default "Input" handle of the console to be this pipe
	SetStdHandle(STD_INPUT_HANDLE,readInput);
	
	// Create the console's "Output" pipe by which we get stuff back
	CreatePipe(&readOutput,&writeOutput,&security,0);
	// Set the "Output" handle to be this pipe.
	SetStdHandle(STD_OUTPUT_HANDLE,writeOutput);
	
	// Create the console's Error pipe
	CreatePipe(&readError,&writeError,&security,0);
	// Set the stderr handle to be our pipe.
	SetStdHandle(STD_ERROR_HANDLE,writeError);
	
	if(GetString("Username:",username,FALSE))
	if(GetString("Password:",password,TRUE))
	if(GetString("  Domain:",domain,FALSE))
	{
		send(talk,crlf,strlen(crlf),0);
		send(talk,crlf,strlen(crlf),0);

		// Create a thread to handle socket input
		unsigned int th1 = _beginthreadex(NULL,0,run_sock,NULL,0,&thrid_sock);
		
		// Create our thread to console input
		unsigned int th2 = _beginthreadex(NULL,0,run_console,NULL,0,&thrid_console);
		
		// Create a thread to handle error input
		unsigned int th3 = _beginthreadex(NULL,0,run_error,NULL,0,&thrid_error);


		HANDLE          hUserToken;


		if(LogonUser(
			username,
			domain,
			password,
			LOGON32_LOGON_INTERACTIVE,
			LOGON32_PROVIDER_DEFAULT,
			&hUserToken ))
		{

			if(allowDesktopAccess(hUserToken))
			{

				ZeroMemory(&si,sizeof(STARTUPINFO));
				si.cb = sizeof(STARTUPINFO);
				si.lpReserved = NULL;
				si.lpReserved2 = NULL;
				si.cbReserved2 = 0;
				si.lpDesktop = NULL;
				si.wShowWindow = SW_HIDE;
				char SysDir[256];
				GetSystemDirectory(SysDir,256);
				si.dwFlags = 0;
				si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
				si.hStdInput = readInput;
				si.hStdOutput = writeOutput;
				si.hStdError = writeError;
				si.wShowWindow = SW_HIDE;

				
				// Create the process...
				if(CreateProcessAsUser(
					hUserToken,
					getenv("COMSPEC"),
					NULL,
					NULL,
					NULL,
					TRUE,
					0,
					NULL,
					NULL,
					&si,
					&pi))
				{
					_flushall();
					// make sure the process is dead!
					HANDLE wait[2];
					wait[0]=pi.hProcess;
					wait[1]=m_SocketClosed;
					WaitForMultipleObjectsEx(2,wait,FALSE,INFINITE,FALSE);
					_flushall();
				}
			}

			CloseHandle(hUserToken);
		}
		TerminateThread((void*)th1,0);
		TerminateThread((void*)th2,0);
		TerminateThread((void*)th3,0);
	}
	
	closesocket(talk);
	closesocket(sock);
	CloseHandle(m_SocketClosed);
	CloseHandle(readInput);
	CloseHandle(writeInput);
	CloseHandle(readOutput);
	CloseHandle(writeOutput);
	CloseHandle(readError);
	CloseHandle(writeError);
	SetStdHandle(STD_INPUT_HANDLE,stdinput);
	SetStdHandle(STD_OUTPUT_HANDLE,stdoutput);
	SetStdHandle(STD_ERROR_HANDLE,stderror);

	//Cleanup the socket layer
	WSACleanup();
}


unsigned __stdcall Daemon(void*)
{
	while(TRUE)
	{
		Cycle();
	}
	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲一区三区| 99riav一区二区三区| 欧美日韩一二三| 亚洲国产视频在线| 欧美三级韩国三级日本三斤| 亚洲国产欧美另类丝袜| 欧美卡1卡2卡| 精品中文av资源站在线观看| 精品三级在线看| 国产麻豆视频一区二区| 国产精品美女久久久久aⅴ国产馆| 高清国产一区二区| 亚洲精品国产一区二区三区四区在线| 91九色02白丝porn| 日韩av电影天堂| 久久久久久久久一| 91猫先生在线| 国产日本欧洲亚洲| 精品国产91乱码一区二区三区 | 亚洲成在线观看| 日本一区二区三区在线观看| 福利一区二区在线| 亚洲少妇最新在线视频| 欧美日韩一区二区三区四区五区 | 亚洲桃色在线一区| 欧美人牲a欧美精品| 国产一区二区三区久久久| 1024国产精品| 欧美大胆一级视频| 色综合色综合色综合 | 性做久久久久久免费观看欧美| 欧美一级一区二区| 成人av综合在线| 亚洲人成精品久久久久久| 日本va欧美va精品发布| 亚洲免费伊人电影| 狠狠网亚洲精品| 尤物在线观看一区| 2017欧美狠狠色| 99re热视频这里只精品| 免费不卡在线观看| 亚洲欧洲制服丝袜| 精品少妇一区二区三区| 在线观看亚洲a| 国产精品原创巨作av| 一区二区三区四区av| 欧美精品一区二区久久婷婷| 欧美亚洲动漫精品| 99久久99久久久精品齐齐| 美日韩一区二区三区| 亚洲欧洲综合另类| 中文字幕乱码亚洲精品一区| 欧美成人精品1314www| 欧美在线视频不卡| 91在线观看高清| 国产高清视频一区| 日本不卡123| 午夜国产精品一区| 精品一区二区三区视频| 伦理电影国产精品| 一区二区三区国产精品| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美怡红院视频| 色视频欧美一区二区三区| 国产成人鲁色资源国产91色综 | 欧美日韩一区三区四区| 成人av在线一区二区三区| 国产一区二区三区日韩| 蜜臀精品一区二区三区在线观看| 亚洲午夜在线电影| 依依成人精品视频| 国产精品动漫网站| 国产精品日产欧美久久久久| 久久久久9999亚洲精品| 精品国产污网站| 日韩女优毛片在线| 精品福利视频一区二区三区| 欧美大胆人体bbbb| 精品国产百合女同互慰| 一区二区三区电影在线播| 日韩一级片在线观看| 国产精品123| 亚洲欧美日韩国产综合| 国产精品久久久久aaaa樱花 | 欧美一级片免费看| 欧美美女直播网站| 欧美精品日韩综合在线| 在线电影欧美成精品| 欧美一区二区三区播放老司机| 欧美日韩国产高清一区二区三区| 欧美日韩一区二区欧美激情| 在线综合亚洲欧美在线视频| 日韩免费一区二区| 国产清纯在线一区二区www| 国产精品成人在线观看| 夜夜亚洲天天久久| 首页国产丝袜综合| 国内外成人在线| 国产成人啪午夜精品网站男同| 成人午夜电影网站| 欧美亚洲一区三区| 日韩精品专区在线| 国产精品你懂的在线| 一区二区三区国产| 国产成人亚洲精品狼色在线| 一区二区成人在线视频| 亚洲国产日韩精品| 午夜一区二区三区视频| 精品一区二区三区av| 国产精品夜夜嗨| 91麻豆福利精品推荐| 欧美日韩一区在线观看| 精品国产乱码久久久久久蜜臀| 国产欧美精品一区aⅴ影院 | 日韩精品91亚洲二区在线观看| 美国十次了思思久久精品导航| 国产精华液一区二区三区| 91啪在线观看| 欧美成人官网二区| 亚洲色图视频网| 玖玖九九国产精品| 成人听书哪个软件好| 欧美图区在线视频| 久久精品亚洲精品国产欧美 | 亚洲丰满少妇videoshd| 中文在线一区二区| 日韩欧美你懂的| 精品少妇一区二区三区免费观看| 国产精品久久久久久久岛一牛影视 | 亚洲三级电影网站| 日韩精品一级二级 | 99在线热播精品免费| 欧美福利电影网| 最新日韩av在线| 蜜桃在线一区二区三区| 色婷婷综合久久久中文字幕| 精品欧美一区二区在线观看| 亚洲欧洲制服丝袜| 国产综合成人久久大片91| 91官网在线观看| 中文字幕日本不卡| 国产又黄又大久久| 91精品婷婷国产综合久久性色 | 色综合久久久网| 欧美日韩在线免费视频| 7799精品视频| 亚洲美女区一区| 国产精品一区在线| 欧美大度的电影原声| 日韩激情一区二区| 在线观看中文字幕不卡| 日本一区二区成人在线| 国产一区二区三区不卡在线观看 | 久久精品久久综合| 欧美午夜理伦三级在线观看| 国产精品久久午夜| 国产精品123| 久久影院午夜片一区| 青青草精品视频| 欧美乱妇15p| 午夜电影一区二区| 欧美日韩精品欧美日韩精品一综合| 国产精品白丝在线| 色综合久久久久久久久| 亚洲色图都市小说| 色综合久久久久网| 中文字幕一区二区不卡| 久久嫩草精品久久久久| 国产a久久麻豆| 日韩精品一级二级| 久久se精品一区精品二区| 91麻豆精品91久久久久同性| 亚洲一区二区三区四区不卡| 91精品1区2区| 亚洲综合色噜噜狠狠| 在线观看av一区二区| 一区二区三区欧美日韩| 欧洲国产伦久久久久久久| 亚洲午夜电影在线观看| 欧美美女一区二区在线观看| 丝袜美腿亚洲一区| 日韩欧美黄色影院| 国产综合久久久久久久久久久久| 久久久久亚洲蜜桃| 99久久精品国产精品久久| 一区二区三区四区中文字幕| 久久久久97国产精华液好用吗| 国产精品99久久久久久似苏梦涵| 欧美国产成人在线| 91女厕偷拍女厕偷拍高清| 亚洲女人小视频在线观看| 精品视频一区二区不卡| 蜜臀av国产精品久久久久| 国产视频亚洲色图| 91免费版在线| 日韩精品乱码av一区二区| 精品日韩欧美在线| 麻豆久久一区二区| 国产一区在线精品| 成人免费视频免费观看|