您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ winpr_HexDump函数代码示例

51自学网 2021-06-03 09:59:11
  C++
这篇教程C++ winpr_HexDump函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中winpr_HexDump函数的典型用法代码示例。如果您正苦于以下问题:C++ winpr_HexDump函数的具体用法?C++ winpr_HexDump怎么用?C++ winpr_HexDump使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了winpr_HexDump函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: license_write_new_license_request_packet

void license_write_new_license_request_packet(rdpLicense* license, wStream* s){	UINT32 PlatformId;	UINT32 PreferredKeyExchangeAlg = KEY_EXCHANGE_ALG_RSA;	PlatformId = CLIENT_OS_ID_WINNT_POST_52 | CLIENT_IMAGE_ID_MICROSOFT;	Stream_Write_UINT32(s, PreferredKeyExchangeAlg); /* PreferredKeyExchangeAlg (4 bytes) */	Stream_Write_UINT32(s, PlatformId); /* PlatformId (4 bytes) */	Stream_Write(s, license->ClientRandom, 32); /* ClientRandom (32 bytes) */	license_write_encrypted_premaster_secret_blob(s, license->EncryptedPremasterSecret, license->ModulusLength); /* EncryptedPremasterSecret */	license_write_binary_blob(s, license->ClientUserName); /* ClientUserName */	license_write_binary_blob(s, license->ClientMachineName); /* ClientMachineName */#ifdef WITH_DEBUG_LICENSE	fprintf(stderr, "PreferredKeyExchangeAlg: 0x%08X/n", PreferredKeyExchangeAlg);	fprintf(stderr, "/n");	fprintf(stderr, "ClientRandom:/n");	winpr_HexDump(license->ClientRandom, 32);	fprintf(stderr, "/n");	fprintf(stderr, "EncryptedPremasterSecret/n");	winpr_HexDump(license->EncryptedPremasterSecret->data, license->EncryptedPremasterSecret->length);	fprintf(stderr, "/n");	fprintf(stderr, "ClientUserName (%d): %s/n", license->ClientUserName->length, (char*) license->ClientUserName->data);	fprintf(stderr, "/n");	fprintf(stderr, "ClientMachineName (%d): %s/n", license->ClientMachineName->length, (char*) license->ClientMachineName->data);	fprintf(stderr, "/n");#endif}
开发者ID:CTCAdmin,项目名称:FreeRDP,代码行数:33,


示例2: license_write_new_license_request_packet

BOOL license_write_new_license_request_packet(rdpLicense* license, wStream* s){	UINT32 PlatformId;	UINT32 PreferredKeyExchangeAlg = KEY_EXCHANGE_ALG_RSA;	PlatformId = CLIENT_OS_ID_WINNT_POST_52 | CLIENT_IMAGE_ID_MICROSOFT;	Stream_Write_UINT32(s, PreferredKeyExchangeAlg); /* PreferredKeyExchangeAlg (4 bytes) */	Stream_Write_UINT32(s, PlatformId); /* PlatformId (4 bytes) */	Stream_Write(s, license->ClientRandom, 32); /* ClientRandom (32 bytes) */		/* EncryptedPremasterSecret */	if (!license_write_encrypted_premaster_secret_blob(s, license->EncryptedPremasterSecret, license->ModulusLength) ||		/* ClientUserName */		!license_write_binary_blob(s, license->ClientUserName) ||		/* ClientMachineName */		!license_write_binary_blob(s, license->ClientMachineName))	{		return FALSE;	}#ifdef WITH_DEBUG_LICENSE	WLog_DBG(TAG, "PreferredKeyExchangeAlg: 0x%08X", PreferredKeyExchangeAlg);	WLog_DBG(TAG, "ClientRandom:");	winpr_HexDump(TAG, WLOG_DEBUG, license->ClientRandom, 32);	WLog_DBG(TAG, "EncryptedPremasterSecret");	winpr_HexDump(TAG, WLOG_DEBUG, license->EncryptedPremasterSecret->data, license->EncryptedPremasterSecret->length);	WLog_DBG(TAG, "ClientUserName (%d): %s", license->ClientUserName->length, (char*) license->ClientUserName->data);	WLog_DBG(TAG, "ClientMachineName (%d): %s", license->ClientMachineName->length, (char*) license->ClientMachineName->data);#endif	return TRUE;}
开发者ID:BUGgs,项目名称:FreeRDP,代码行数:31,


示例3: license_encrypt_premaster_secret

BOOL license_encrypt_premaster_secret(rdpLicense* license){	BYTE* EncryptedPremasterSecret;	if (!license_get_server_rsa_public_key(license))		return FALSE;#ifdef WITH_DEBUG_LICENSE	WLog_DBG(TAG, "Modulus (%d bits):", license->ModulusLength * 8);	winpr_HexDump(TAG, WLOG_DEBUG, license->Modulus, license->ModulusLength);	WLog_DBG(TAG, "Exponent:");	winpr_HexDump(TAG, WLOG_DEBUG, license->Exponent, 4);#endif	EncryptedPremasterSecret = (BYTE*) calloc(1, license->ModulusLength);	if (!EncryptedPremasterSecret)		return FALSE;	license->EncryptedPremasterSecret->type = BB_RANDOM_BLOB;	license->EncryptedPremasterSecret->length = PREMASTER_SECRET_LENGTH;#ifndef LICENSE_NULL_PREMASTER_SECRET	license->EncryptedPremasterSecret->length =		crypto_rsa_public_encrypt(license->PremasterSecret, PREMASTER_SECRET_LENGTH,			license->ModulusLength, license->Modulus, license->Exponent, EncryptedPremasterSecret);#endif	license->EncryptedPremasterSecret->data = EncryptedPremasterSecret;	return TRUE;}
开发者ID:BUGgs,项目名称:FreeRDP,代码行数:28,


示例4: license_read_platform_challenge_packet

BOOL license_read_platform_challenge_packet(rdpLicense* license, wStream* s){	BYTE MacData[16];	UINT32 ConnectFlags = 0;	DEBUG_LICENSE("Receiving Platform Challenge Packet");	if (Stream_GetRemainingLength(s) < 4)		return FALSE;	Stream_Read_UINT32(s, ConnectFlags); /* ConnectFlags, Reserved (4 bytes) */	/* EncryptedPlatformChallenge */	license->EncryptedPlatformChallenge->type = BB_ANY_BLOB;	license_read_binary_blob(s, license->EncryptedPlatformChallenge);	license->EncryptedPlatformChallenge->type = BB_ENCRYPTED_DATA_BLOB;	if (Stream_GetRemainingLength(s) < 16)		return FALSE;	Stream_Read(s, MacData, 16); /* MACData (16 bytes) */	if (!license_decrypt_platform_challenge(license))		return FALSE;#ifdef WITH_DEBUG_LICENSE	WLog_DBG(TAG, "ConnectFlags: 0x%08X", ConnectFlags);	WLog_DBG(TAG, "EncryptedPlatformChallenge:");	winpr_HexDump(TAG, WLOG_DEBUG, license->EncryptedPlatformChallenge->data, license->EncryptedPlatformChallenge->length);	WLog_DBG(TAG, "PlatformChallenge:");	winpr_HexDump(TAG, WLOG_DEBUG, license->PlatformChallenge->data, license->PlatformChallenge->length);	WLog_DBG(TAG, "MacData:");	winpr_HexDump(TAG, WLOG_DEBUG, MacData, 16);#endif	return TRUE;}
开发者ID:BUGgs,项目名称:FreeRDP,代码行数:33,


示例5: license_decrypt_platform_challenge

void license_decrypt_platform_challenge(rdpLicense* license){	CryptoRc4 rc4;	license->platform_challenge->data =			(BYTE*) malloc(license->encrypted_platform_challenge->length);	license->platform_challenge->length =			license->encrypted_platform_challenge->length;	rc4 = crypto_rc4_init(license->licensing_encryption_key, LICENSING_ENCRYPTION_KEY_LENGTH);	crypto_rc4(rc4, license->encrypted_platform_challenge->length,			license->encrypted_platform_challenge->data,			license->platform_challenge->data);#ifdef WITH_DEBUG_LICENSE	printf("encrypted_platform challenge:/n");	winpr_HexDump(license->encrypted_platform_challenge->data,			license->encrypted_platform_challenge->length);	printf("platform challenge:/n");	winpr_HexDump(license->platform_challenge->data, license->platform_challenge->length);#endif	crypto_rc4_free(rc4);}
开发者ID:Joyuan,项目名称:FreeRDP,代码行数:26,


示例6: license_encrypt_premaster_secret

void license_encrypt_premaster_secret(rdpLicense* license){	BYTE* EncryptedPremasterSecret;	license_get_server_rsa_public_key(license);#ifdef WITH_DEBUG_LICENSE	fprintf(stderr, "Modulus (%d bits):/n", license->ModulusLength * 8);	winpr_HexDump(license->Modulus, license->ModulusLength);	fprintf(stderr, "/n");	fprintf(stderr, "Exponent:/n");	winpr_HexDump(license->Exponent, 4);	fprintf(stderr, "/n");#endif	EncryptedPremasterSecret = (BYTE*) malloc(license->ModulusLength);	ZeroMemory(EncryptedPremasterSecret, license->ModulusLength);	license->EncryptedPremasterSecret->type = BB_RANDOM_BLOB;	license->EncryptedPremasterSecret->length = PREMASTER_SECRET_LENGTH;#ifndef LICENSE_NULL_PREMASTER_SECRET	license->EncryptedPremasterSecret->length =		crypto_rsa_public_encrypt(license->PremasterSecret, PREMASTER_SECRET_LENGTH,			license->ModulusLength, license->Modulus, license->Exponent, EncryptedPremasterSecret);#endif	license->EncryptedPremasterSecret->data = EncryptedPremasterSecret;}
开发者ID:CTCAdmin,项目名称:FreeRDP,代码行数:29,


示例7: license_send_platform_challenge_response_packet

BOOL license_send_platform_challenge_response_packet(rdpLicense* license){    wStream* s;    int length;    BYTE* buffer;    WINPR_RC4_CTX* rc4;    BYTE mac_data[16];    BOOL status;    DEBUG_LICENSE("Sending Platform Challenge Response Packet");    s = license_send_stream_init(license);    license->EncryptedPlatformChallenge->type = BB_DATA_BLOB;    length = license->PlatformChallenge->length + HWID_LENGTH;    buffer = (BYTE*) malloc(length);    if (!buffer)        return FALSE;    CopyMemory(buffer, license->PlatformChallenge->data, license->PlatformChallenge->length);    CopyMemory(&buffer[license->PlatformChallenge->length], license->HardwareId, HWID_LENGTH);    status = security_mac_data(license->MacSaltKey, buffer, length, mac_data);    free(buffer);    if (!status)        return FALSE;    rc4 = winpr_RC4_New(license->LicensingEncryptionKey,                        LICENSING_ENCRYPTION_KEY_LENGTH);    if (!rc4)        return FALSE;    buffer = (BYTE*) malloc(HWID_LENGTH);    if (!buffer)        return FALSE;    status = winpr_RC4_Update(rc4, HWID_LENGTH, license->HardwareId, buffer);    winpr_RC4_Free(rc4);    if (!status)    {        free(buffer);        return FALSE;    }    license->EncryptedHardwareId->type = BB_DATA_BLOB;    license->EncryptedHardwareId->data = buffer;    license->EncryptedHardwareId->length = HWID_LENGTH;#ifdef WITH_DEBUG_LICENSE    WLog_DBG(TAG, "LicensingEncryptionKey:");    winpr_HexDump(TAG, WLOG_DEBUG, license->LicensingEncryptionKey, 16);    WLog_DBG(TAG, "HardwareId:");    winpr_HexDump(TAG, WLOG_DEBUG, license->HardwareId, HWID_LENGTH);    WLog_DBG(TAG, "EncryptedHardwareId:");    winpr_HexDump(TAG, WLOG_DEBUG, license->EncryptedHardwareId->data, HWID_LENGTH);#endif    return license_write_platform_challenge_response_packet(license, s, mac_data) &&           license_send(license, s, PLATFORM_CHALLENGE_RESPONSE);}
开发者ID:FreeRDP,项目名称:FreeRDP,代码行数:57,


示例8: ntlm_fetch_ntlm_v2_hash

void ntlm_fetch_ntlm_v2_hash(NTLM_CONTEXT* context, char* hash){	WINPR_SAM* sam;	WINPR_SAM_ENTRY* entry;	sam = SamOpen(1);	if (sam == NULL)		return;	entry = SamLookupUserW(sam,			(LPWSTR) context->identity.User, context->identity.UserLength * 2,			(LPWSTR) context->identity.Domain, context->identity.DomainLength * 2);	if (entry != NULL)	{#ifdef WITH_DEBUG_NTLM		fprintf(stderr, "NTLM Hash:/n");		winpr_HexDump(entry->NtHash, 16);#endif		NTOWFv2FromHashW(entry->NtHash,			(LPWSTR) context->identity.User, context->identity.UserLength * 2,			(LPWSTR) context->identity.Domain, context->identity.DomainLength * 2,			(BYTE*) hash);		SamFreeEntry(sam, entry);		SamClose(sam);		return;	}	entry = SamLookupUserW(sam,		(LPWSTR) context->identity.User, context->identity.UserLength * 2, NULL, 0);	if (entry != NULL)	{#ifdef WITH_DEBUG_NTLM		fprintf(stderr, "NTLM Hash:/n");		winpr_HexDump(entry->NtHash, 16);#endif		NTOWFv2FromHashW(entry->NtHash,			(LPWSTR) context->identity.User, context->identity.UserLength * 2,			(LPWSTR) context->identity.Domain, context->identity.DomainLength * 2,			(BYTE*) hash);		SamFreeEntry(sam, entry);		SamClose(sam);		return;	}	else	{		fprintf(stderr, "Error: Could not find user in SAM database/n");	}	SamClose(sam);}
开发者ID:AlessioLeo,项目名称:FreeRDP,代码行数:57,


示例9: ntlm_fetch_ntlm_v2_hash

int ntlm_fetch_ntlm_v2_hash(NTLM_CONTEXT* context, BYTE* hash){	WINPR_SAM* sam;	WINPR_SAM_ENTRY* entry;	SSPI_CREDENTIALS* credentials = context->credentials;	sam = SamOpen(context->SamFile, TRUE);	if (!sam)		return -1;	entry = SamLookupUserW(sam, (LPWSTR) credentials->identity.User,	                       credentials->identity.UserLength * 2,	                       (LPWSTR) credentials->identity.Domain, credentials->identity.DomainLength * 2);	if (entry)	{#ifdef WITH_DEBUG_NTLM		WLog_DBG(TAG, "NTLM Hash:");		winpr_HexDump(TAG, WLOG_DEBUG, entry->NtHash, 16);#endif		NTOWFv2FromHashW(entry->NtHash,		                 (LPWSTR) credentials->identity.User, credentials->identity.UserLength * 2,		                 (LPWSTR) credentials->identity.Domain, credentials->identity.DomainLength * 2,		                 (BYTE*) hash);		SamFreeEntry(sam, entry);		SamClose(sam);		return 1;	}	entry = SamLookupUserW(sam, (LPWSTR) credentials->identity.User,	                       credentials->identity.UserLength * 2, NULL, 0);	if (entry)	{#ifdef WITH_DEBUG_NTLM		WLog_DBG(TAG, "NTLM Hash:");		winpr_HexDump(TAG, WLOG_DEBUG, entry->NtHash, 16);#endif		NTOWFv2FromHashW(entry->NtHash,		                 (LPWSTR) credentials->identity.User, credentials->identity.UserLength * 2,		                 (LPWSTR) credentials->identity.Domain, credentials->identity.DomainLength * 2,		                 (BYTE*) hash);		SamFreeEntry(sam, entry);		SamClose(sam);		return 1;	}	else	{		SamClose(sam);		WLog_ERR(TAG, "Error: Could not find user in SAM database");		return 0;	}	SamClose(sam);	return 1;}
开发者ID:Devolutions,项目名称:FreeRDP,代码行数:56,


示例10: license_send_platform_challenge_response_packet

void license_send_platform_challenge_response_packet(rdpLicense* license){	wStream* s;	int length;	BYTE* buffer;	CryptoRc4 rc4;	BYTE mac_data[16];	DEBUG_LICENSE("Sending Platform Challenge Response Packet");	s = license_send_stream_init(license);	license->EncryptedPlatformChallenge->type = BB_DATA_BLOB;	length = license->PlatformChallenge->length + HWID_LENGTH;	buffer = (BYTE*) malloc(length);	CopyMemory(buffer, license->PlatformChallenge->data, license->PlatformChallenge->length);	CopyMemory(&buffer[license->PlatformChallenge->length], license->HardwareId, HWID_LENGTH);	security_mac_data(license->MacSaltKey, buffer, length, mac_data);	free(buffer);	buffer = (BYTE*) malloc(HWID_LENGTH);	rc4 = crypto_rc4_init(license->LicensingEncryptionKey, LICENSING_ENCRYPTION_KEY_LENGTH);	if (!rc4)	{		fprintf(stderr, "%s: unable to allocate a rc4/n", __FUNCTION__);		return;	}	crypto_rc4(rc4, HWID_LENGTH, license->HardwareId, buffer);	crypto_rc4_free(rc4);	license->EncryptedHardwareId->type = BB_DATA_BLOB;	license->EncryptedHardwareId->data = buffer;	license->EncryptedHardwareId->length = HWID_LENGTH;#ifdef WITH_DEBUG_LICENSE	fprintf(stderr, "LicensingEncryptionKey:/n");	winpr_HexDump(license->LicensingEncryptionKey, 16);	fprintf(stderr, "/n");	fprintf(stderr, "HardwareId:/n");	winpr_HexDump(license->HardwareId, HWID_LENGTH);	fprintf(stderr, "/n");	fprintf(stderr, "EncryptedHardwareId:/n");	winpr_HexDump(license->EncryptedHardwareId->data, HWID_LENGTH);	fprintf(stderr, "/n");#endif	license_write_platform_challenge_response_packet(license, s, mac_data);	license_send(license, s, PLATFORM_CHALLENGE_RESPONSE);}
开发者ID:CTCAdmin,项目名称:FreeRDP,代码行数:53,


示例11: TsProxyCreateChannelReadResponse

BOOL TsProxyCreateChannelReadResponse(rdpTsg* tsg, RPC_PDU* pdu){	BYTE* buffer;	UINT32 length;	UINT32 offset;	rdpRpc* rpc = tsg->rpc;	if (!pdu)		return FALSE;	length = Stream_Length(pdu->s);	buffer = Stream_Buffer(pdu->s);	if (!(pdu->Flags & RPC_PDU_FLAG_STUB))		buffer = &buffer[24];	offset = 0;	/* ChannelContext (20 bytes) */	CopyMemory(&tsg->ChannelContext.ContextType, &buffer[offset], 4); /* ContextType (4 bytes) */	CopyMemory(tsg->ChannelContext.ContextUuid, &buffer[offset + 4], 16); /* ContextUuid (16 bytes) */#ifdef WITH_DEBUG_TSG	fprintf(stderr, "ChannelContext:/n");	winpr_HexDump((void*) &tsg->ChannelContext, 20);	fprintf(stderr, "/n");#endif	rpc_client_receive_pool_return(rpc, pdu);	return TRUE;}
开发者ID:AlessioLeo,项目名称:FreeRDP,代码行数:32,


示例12: cliprdr_packet_send

void cliprdr_packet_send(cliprdrPlugin* cliprdr, wStream* s){	int pos;	UINT32 dataLen;	UINT32 status = 0;	pos = Stream_GetPosition(s);	dataLen = pos - 8;	Stream_SetPosition(s, 4);	Stream_Write_UINT32(s, dataLen);	Stream_SetPosition(s, pos);#ifdef WITH_DEBUG_CLIPRDR	WLog_DBG(TAG, "Cliprdr Sending (%d bytes)", dataLen + 8);	winpr_HexDump(TAG, WLOG_DEBUG, Stream_Buffer(s), dataLen + 8);#endif	if (!cliprdr)	{		status = CHANNEL_RC_BAD_INIT_HANDLE;	}	else	{		status = cliprdr->channelEntryPoints.pVirtualChannelWrite(cliprdr->OpenHandle,			Stream_Buffer(s), (UINT32) Stream_GetPosition(s), s);	}	if (status != CHANNEL_RC_OK)	{		Stream_Free(s, TRUE);		WLog_ERR(TAG,  "cliprdr_packet_send: VirtualChannelWrite failed %d", status);	}}
开发者ID:akallabeth,项目名称:FreeRDP,代码行数:35,


示例13: rpc_recv_dequeue_pdu

RPC_PDU* rpc_recv_dequeue_pdu(rdpRpc* rpc){	RPC_PDU* pdu;	DWORD dwMilliseconds;	DWORD result;	dwMilliseconds = rpc->client->SynchronousReceive ? SYNCHRONOUS_TIMEOUT * 4 : 0;	result = WaitForSingleObject(Queue_Event(rpc->client->ReceiveQueue), dwMilliseconds);	if (result == WAIT_TIMEOUT)	{		WLog_ERR(TAG, "timed out waiting for receive event");		return NULL;	}	if (result != WAIT_OBJECT_0)		return NULL;	pdu = (RPC_PDU*)Queue_Dequeue(rpc->client->ReceiveQueue);#ifdef WITH_DEBUG_TSG	if (pdu)	{		WLog_DBG(TAG, "Receiving PDU (length: %d, CallId: %d)", pdu->s->length, pdu->CallId);		winpr_HexDump(TAG, WLOG_DEBUG, Stream_Buffer(pdu->s), Stream_Length(pdu->s));	}	else	{		WLog_DBG(TAG, "Receiving a NULL PDU");	}#endif	return pdu;}
开发者ID:a1154043439,项目名称:FreeRDP,代码行数:33,


示例14: certificate_read_server_x509_certificate_chain

BOOL certificate_read_server_x509_certificate_chain(rdpCertificate* certificate, wStream* s){	int i;	UINT32 certLength;	UINT32 numCertBlobs;	BOOL ret;	DEBUG_CERTIFICATE("Server X.509 Certificate Chain");	if (Stream_GetRemainingLength(s) < 4)		return FALSE;	Stream_Read_UINT32(s, numCertBlobs); /* numCertBlobs */	certificate->x509_cert_chain = certificate_new_x509_certificate_chain(numCertBlobs);	if (!certificate->x509_cert_chain)		return FALSE;	for (i = 0; i < (int) numCertBlobs; i++)	{		if (Stream_GetRemainingLength(s) < 4)			return FALSE;		Stream_Read_UINT32(s, certLength);		if (Stream_GetRemainingLength(s) < certLength)			return FALSE;		DEBUG_CERTIFICATE("/nX.509 Certificate #%d, length:%d", i + 1, certLength);		certificate->x509_cert_chain->array[i].data = (BYTE*) malloc(certLength);		if (!certificate->x509_cert_chain->array[i].data)			return FALSE;		Stream_Read(s, certificate->x509_cert_chain->array[i].data, certLength);		certificate->x509_cert_chain->array[i].length = certLength;		if (numCertBlobs - i == 2)		{			rdpCertInfo cert_info;			DEBUG_CERTIFICATE("License Server Certificate");			ret = certificate_read_x509_certificate(&certificate->x509_cert_chain->array[i], &cert_info);			DEBUG_LICENSE("modulus length:%d", (int) cert_info.ModulusLength);			if (cert_info.Modulus)				free(cert_info.Modulus);			if (!ret) {				fprintf(stderr, "failed to read License Server, content follows:/n");				winpr_HexDump(certificate->x509_cert_chain->array[i].data, certificate->x509_cert_chain->array[i].length);				return FALSE;			}		}		else if (numCertBlobs - i == 1)		{			DEBUG_CERTIFICATE("Terminal Server Certificate");			if (!certificate_read_x509_certificate(&certificate->x509_cert_chain->array[i], &certificate->cert_info))				return FALSE;			DEBUG_CERTIFICATE("modulus length:%d", (int) certificate->cert_info.ModulusLength);		}	}	return TRUE;}
开发者ID:10084462,项目名称:FreeRDP,代码行数:60,


示例15: test_rdp_channel_data

static int test_rdp_channel_data(freerdp* instance, int chan_id, BYTE* data, int data_size){	printf("chan_id %d data_size %d/n", chan_id, data_size);	winpr_HexDump(data, data_size);	data_received = 1;	return 0;}
开发者ID:4hosi,项目名称:FreeRDP,代码行数:7,


示例16: rpc_recv_dequeue_pdu

RPC_PDU* rpc_recv_dequeue_pdu(rdpRpc* rpc){	RPC_PDU* pdu;	DWORD dwMilliseconds;	pdu = NULL;	dwMilliseconds = rpc->client->SynchronousReceive ? INFINITE : 0;	if (WaitForSingleObject(Queue_Event(rpc->client->ReceiveQueue), dwMilliseconds) == WAIT_OBJECT_0)	{		pdu = (RPC_PDU*) Queue_Dequeue(rpc->client->ReceiveQueue);#ifdef WITH_DEBUG_TSG		if (pdu)		{			fprintf(stderr, "Receiving PDU (length: %d, CallId: %d)/n", pdu->s->length, pdu->CallId);			winpr_HexDump(Stream_Buffer(pdu->s), Stream_Length(pdu->s));			fprintf(stderr, "/n");		}#endif		return pdu;	}	return pdu;}
开发者ID:AlessioLeo,项目名称:FreeRDP,代码行数:26,


示例17: cliprdr_packet_send

/** * Function description * * @return 0 on success, otherwise a Win32 error code */UINT cliprdr_packet_send(cliprdrPlugin* cliprdr, wStream* s){	UINT32 pos;	UINT32 dataLen;	UINT status = CHANNEL_RC_OK;	pos = Stream_GetPosition(s);	dataLen = pos - 8;	Stream_SetPosition(s, 4);	Stream_Write_UINT32(s, dataLen);	Stream_SetPosition(s, pos);#ifdef WITH_DEBUG_CLIPRDR	WLog_DBG(TAG, "Cliprdr Sending (%d bytes)", dataLen + 8);	winpr_HexDump(TAG, WLOG_DEBUG, Stream_Buffer(s), dataLen + 8);#endif	if (!cliprdr)	{		status = CHANNEL_RC_BAD_INIT_HANDLE;	}	else	{		status = cliprdr->channelEntryPoints.pVirtualChannelWrite(cliprdr->OpenHandle,			Stream_Buffer(s), (UINT32) Stream_GetPosition(s), s);	}	if (status != CHANNEL_RC_OK)		WLog_ERR(TAG, "VirtualChannelWrite failed with %s [%08X]",				 WTSErrorToString(status), status);	return status;}
开发者ID:ahnan4arch,项目名称:FreeRDP,代码行数:40,


示例18: license_send

BOOL license_send(rdpLicense* license, STREAM* s, BYTE type){	int length;	BYTE flags;	UINT16 wMsgSize;	UINT16 sec_flags;	DEBUG_LICENSE("Sending %s Packet", LICENSE_MESSAGE_STRINGS[type & 0x1F]);	length = stream_get_length(s);	stream_set_pos(s, 0);	sec_flags = SEC_LICENSE_PKT;	wMsgSize = length - LICENSE_PACKET_HEADER_MAX_LENGTH + 4;	/**	 * Using EXTENDED_ERROR_MSG_SUPPORTED here would cause mstsc to crash when	 * running in server mode! This flag seems to be incorrectly documented.	 */	flags = PREAMBLE_VERSION_3_0;	rdp_write_header(license->rdp, s, length, MCS_GLOBAL_CHANNEL_ID);	rdp_write_security_header(s, sec_flags);	license_write_preamble(s, type, flags, wMsgSize);#ifdef WITH_DEBUG_LICENSE	printf("Sending %s Packet, length %d/n", LICENSE_MESSAGE_STRINGS[type & 0x1F], wMsgSize);	winpr_HexDump(s->p - 4, wMsgSize);#endif	stream_set_pos(s, length);	if (transport_write(license->rdp->transport, s) < 0)		return FALSE;	return TRUE;}
开发者ID:Joyuan,项目名称:FreeRDP,代码行数:35,


示例19: license_send

BOOL license_send(rdpLicense* license, wStream* s, BYTE type){	int length;	BYTE flags;	UINT16 wMsgSize;	rdpRdp* rdp = license->rdp;	DEBUG_LICENSE("Sending %s Packet", LICENSE_MESSAGE_STRINGS[type & 0x1F]);	length = Stream_GetPosition(s);	wMsgSize = length - license->PacketHeaderLength;	Stream_SetPosition(s, license->PacketHeaderLength);	flags = PREAMBLE_VERSION_3_0;	/**	 * Using EXTENDED_ERROR_MSG_SUPPORTED here would cause mstsc to crash when	 * running in server mode! This flag seems to be incorrectly documented.	 */	if (!rdp->settings->ServerMode)		flags |= EXTENDED_ERROR_MSG_SUPPORTED;	license_write_preamble(s, type, flags, wMsgSize);#ifdef WITH_DEBUG_LICENSE	WLog_DBG(TAG, "Sending %s Packet, length %d", LICENSE_MESSAGE_STRINGS[type & 0x1F], wMsgSize);	winpr_HexDump(TAG, WLOG_DEBUG, Stream_Pointer(s) - LICENSE_PREAMBLE_LENGTH, wMsgSize);#endif	Stream_SetPosition(s, length);	rdp_send(rdp, s, MCS_GLOBAL_CHANNEL_ID);	rdp->sec_flags = 0;	return TRUE;}
开发者ID:BUGgs,项目名称:FreeRDP,代码行数:30,


示例20: transport_write

int transport_write(rdpTransport* transport, STREAM* s){	int status = -1;	int length;	length = stream_get_length(s);	stream_set_pos(s, 0);#ifdef WITH_DEBUG_TRANSPORT	if (length > 0)	{		printf("Local > Remote/n");		winpr_HexDump(s->data, length);	}#endif	while (length > 0)	{		if (transport->layer == TRANSPORT_LAYER_TLS)			status = tls_write(transport->TlsOut, stream_get_tail(s), length);		else if (transport->layer == TRANSPORT_LAYER_TCP)			status = tcp_write(transport->TcpOut, stream_get_tail(s), length);		else if (transport->layer == TRANSPORT_LAYER_TSG)			status = tsg_write(transport->tsg, stream_get_tail(s), length);		if (status < 0)			break; /* error occurred */		if (status == 0)		{			/* when sending is blocked in nonblocking mode, the receiving buffer should be checked */			if (!transport->blocking)			{				/* and in case we do have buffered some data, we set the event so next loop will get it */				if (transport_read_nonblocking(transport) > 0)					SetEvent(transport->ReceiveEvent);			}			if (transport->layer == TRANSPORT_LAYER_TLS)				tls_wait_write(transport->TlsOut);			else if (transport->layer == TRANSPORT_LAYER_TCP)				tcp_wait_write(transport->TcpOut);			else				USleep(transport->SleepInterval);		}		length -= status;		stream_seek(s, status);	}	if (status < 0)	{		/* A write error indicates that the peer has dropped the connection */		transport->layer = TRANSPORT_LAYER_CLOSED;	}	return status;}
开发者ID:4hosi,项目名称:FreeRDP,代码行数:58,


示例21: license_generate_keys

void license_generate_keys(rdpLicense* license){	security_master_secret(license->PremasterSecret, license->ClientRandom,						   license->ServerRandom, license->MasterSecret); /* MasterSecret */	security_session_key_blob(license->MasterSecret, license->ClientRandom,							  license->ServerRandom, license->SessionKeyBlob); /* SessionKeyBlob */	security_mac_salt_key(license->SessionKeyBlob, license->ClientRandom,						  license->ServerRandom, license->MacSaltKey); /* MacSaltKey */	security_licensing_encryption_key(license->SessionKeyBlob, license->ClientRandom,									  license->ServerRandom, license->LicensingEncryptionKey); /* LicensingEncryptionKey */#ifdef WITH_DEBUG_LICENSE	WLog_DBG(TAG, "ClientRandom:");	winpr_HexDump(TAG, WLOG_DEBUG, license->ClientRandom, CLIENT_RANDOM_LENGTH);	WLog_DBG(TAG, "ServerRandom:");	winpr_HexDump(TAG, WLOG_DEBUG, license->ServerRandom, SERVER_RANDOM_LENGTH);	WLog_DBG(TAG, "PremasterSecret:");	winpr_HexDump(TAG, WLOG_DEBUG, license->PremasterSecret, PREMASTER_SECRET_LENGTH);	WLog_DBG(TAG, "MasterSecret:");	winpr_HexDump(TAG, WLOG_DEBUG, license->MasterSecret, MASTER_SECRET_LENGTH);	WLog_DBG(TAG, "SessionKeyBlob:");	winpr_HexDump(TAG, WLOG_DEBUG, license->SessionKeyBlob, SESSION_KEY_BLOB_LENGTH);	WLog_DBG(TAG, "MacSaltKey:");	winpr_HexDump(TAG, WLOG_DEBUG, license->MacSaltKey, MAC_SALT_KEY_LENGTH);	WLog_DBG(TAG, "LicensingEncryptionKey:");	winpr_HexDump(TAG, WLOG_DEBUG, license->LicensingEncryptionKey, LICENSING_ENCRYPTION_KEY_LENGTH);#endif}
开发者ID:orosam,项目名称:FreeRDP,代码行数:27,


示例22: xf_process_rail_appid_resp_event

void xf_process_rail_appid_resp_event(xfContext* xfc, rdpChannels* channels, wMessage* event){	RAIL_GET_APPID_RESP_ORDER* appid_resp =		(RAIL_GET_APPID_RESP_ORDER*) event->wParam;	DEBUG_WARN("Server Application ID Response PDU: windowId=0x%X "			   "applicationId=(length=%d dump)/n",			   appid_resp->windowId, 512);	winpr_HexDump(TAG, WLOG_ERROR, (BYTE*) &appid_resp->applicationId, 512);}
开发者ID:davidleake,项目名称:FreeRDP,代码行数:9,


示例23: license_encrypt_premaster_secret

void license_encrypt_premaster_secret(rdpLicense* license){	BYTE* encrypted_premaster_secret;#if 0	int key_length;	BYTE* modulus;	BYTE* exponent;	rdpCertificate *certificate;	if (license->server_certificate->length)		certificate = license->certificate;	else		certificate = license->rdp->settings->server_cert;	exponent = certificate->cert_info.exponent;	modulus = certificate->cert_info.modulus.data;	key_length = certificate->cert_info.modulus.length;#ifdef WITH_DEBUG_LICENSE	printf("modulus (%d bits):/n", key_length * 8);	winpr_HexDump(modulus, key_length);	printf("exponent:/n");	winpr_HexDump(exponent, 4);#endif	encrypted_premaster_secret = (BYTE*) malloc(MODULUS_MAX_SIZE);	memset(encrypted_premaster_secret, 0, MODULUS_MAX_SIZE);	crypto_rsa_public_encrypt(license->premaster_secret, PREMASTER_SECRET_LENGTH,			key_length, modulus, exponent, encrypted_premaster_secret);	license->encrypted_premaster_secret->type = BB_RANDOM_BLOB;	license->encrypted_premaster_secret->length = PREMASTER_SECRET_LENGTH;	license->encrypted_premaster_secret->data = encrypted_premaster_secret;#else	encrypted_premaster_secret = (BYTE*) malloc(MODULUS_MAX_SIZE);	memset(encrypted_premaster_secret, 0, MODULUS_MAX_SIZE);	license->encrypted_premaster_secret->type = BB_RANDOM_BLOB;	license->encrypted_premaster_secret->length = PREMASTER_SECRET_LENGTH;	license->encrypted_premaster_secret->data = encrypted_premaster_secret;#endif}
开发者ID:Joyuan,项目名称:FreeRDP,代码行数:44,


示例24: bulk_compress_validate

int bulk_compress_validate(rdpBulk* bulk, BYTE* pSrcData, UINT32 SrcSize, BYTE** ppDstData, UINT32* pDstSize, UINT32* pFlags){    int status;    BYTE* _pSrcData = NULL;    BYTE* _pDstData = NULL;    UINT32 _SrcSize = 0;    UINT32 _DstSize = 0;    UINT32 _Flags = 0;    _pSrcData = *ppDstData;    _SrcSize = *pDstSize;    _Flags = *pFlags | bulk->CompressionLevel;    status = bulk_decompress(bulk, _pSrcData, _SrcSize, &_pDstData, &_DstSize, _Flags);    if (status < 0)    {        printf("compression/decompression failure/n");        return status;    }    if (_DstSize != SrcSize)    {        printf("compression/decompression size mismatch: Actual: %d, Expected: %d/n", _DstSize, SrcSize);        return -1;    }    if (memcmp(_pDstData, pSrcData, SrcSize) != 0)    {        printf("compression/decompression input/output mismatch! flags: 0x%04X/n", _Flags);#if 1        printf("Actual:/n");        winpr_HexDump(_pDstData, SrcSize);        printf("Expected:/n");        winpr_HexDump(pSrcData, SrcSize);#endif        return -1;    }    return status;}
开发者ID:ryancalhoun,项目名称:FreeRDP,代码行数:44,


示例25: TsProxyCreateChannelWriteRequest

BOOL TsProxyCreateChannelWriteRequest(rdpTsg* tsg, PTUNNEL_CONTEXT_HANDLE_NOSERIALIZE tunnelContext){	int status;	UINT32 count;	BYTE* buffer;	UINT32 length;	CONTEXT_HANDLE* handle;	rdpRpc* rpc = tsg->rpc;	count = _wcslen(tsg->Hostname) + 1;#ifdef WITH_DEBUG_TSG	DEBUG_WARN( "ResourceName:/n");	winpr_HexDump((BYTE*) tsg->Hostname, (count - 1) * 2);	DEBUG_WARN( "/n");#endif	length = 60 + (count * 2);	buffer = (BYTE*) malloc(length);	if (!buffer)		return FALSE;	/* TunnelContext */	handle = (CONTEXT_HANDLE*) tunnelContext;	CopyMemory(&buffer[0], &handle->ContextType, 4); /* ContextType */	CopyMemory(&buffer[4], handle->ContextUuid, 16); /* ContextUuid */	/* TSENDPOINTINFO */	*((UINT32*) &buffer[20]) = 0x00020000; /* ResourceNamePtr */	*((UINT32*) &buffer[24]) = 0x00000001; /* NumResourceNames */	*((UINT32*) &buffer[28]) = 0x00000000; /* AlternateResourceNamesPtr */	*((UINT16*) &buffer[32]) = 0x0000; /* NumAlternateResourceNames */	*((UINT16*) &buffer[34]) = 0x0000; /* Pad (2 bytes) */	/* Port (4 bytes) */	*((UINT16*) &buffer[36]) = 0x0003; /* ProtocolId (RDP = 3) */	*((UINT16*) &buffer[38]) = tsg->Port; /* PortNumber (0xD3D = 3389) */	*((UINT32*) &buffer[40]) = 0x00000001; /* NumResourceNames */	*((UINT32*) &buffer[44]) = 0x00020004; /* ResourceNamePtr */	*((UINT32*) &buffer[48]) = count; /* MaxCount */	*((UINT32*) &buffer[52]) = 0; /* Offset */	*((UINT32*) &buffer[56]) = count; /* ActualCount */	CopyMemory(&buffer[60], tsg->Hostname, count * 2); /* Array */	status = rpc_write(rpc, buffer, length, TsProxyCreateChannelOpnum);	if (status <= 0)		return FALSE;	free(buffer);	return TRUE;}
开发者ID:JozLes77,项目名称:FreeRDP,代码行数:56,


示例26: license_send_platform_challenge_response_packet

void license_send_platform_challenge_response_packet(rdpLicense* license){	STREAM* s;	int length;	BYTE* buffer;	CryptoRc4 rc4;	BYTE mac_data[16];	s = license_send_stream_init(license);	DEBUG_LICENSE("Sending Platform Challenge Response Packet");	license->encrypted_platform_challenge->type = BB_DATA_BLOB;	length = license->platform_challenge->length + HWID_LENGTH;	buffer = (BYTE*) malloc(length);	memcpy(buffer, license->platform_challenge->data, license->platform_challenge->length);	memcpy(&buffer[license->platform_challenge->length], license->hwid, HWID_LENGTH);	security_mac_data(license->mac_salt_key, buffer, length, mac_data);	free(buffer);	buffer = (BYTE*) malloc(HWID_LENGTH);	rc4 = crypto_rc4_init(license->licensing_encryption_key, LICENSING_ENCRYPTION_KEY_LENGTH);	crypto_rc4(rc4, HWID_LENGTH, license->hwid, buffer);	crypto_rc4_free(rc4);#ifdef WITH_DEBUG_LICENSE	printf("Licensing Encryption Key:/n");	winpr_HexDump(license->licensing_encryption_key, 16);	printf("HardwareID:/n");	winpr_HexDump(license->hwid, 20);	printf("Encrypted HardwareID:/n");	winpr_HexDump(buffer, 20);#endif	license->encrypted_hwid->type = BB_DATA_BLOB;	license->encrypted_hwid->data = buffer;	license->encrypted_hwid->length = HWID_LENGTH;	license_write_platform_challenge_response_packet(license, s, mac_data);	license_send(license, s, PLATFORM_CHALLENGE_RESPONSE);}
开发者ID:Joyuan,项目名称:FreeRDP,代码行数:43,


示例27: schannel_openssl_client_process_tokens

SECURITY_STATUS schannel_openssl_client_process_tokens(SCHANNEL_OPENSSL* context, PSecBufferDesc pInput, PSecBufferDesc pOutput){	int status;	int ssl_error;	PSecBuffer pBuffer;	if (!context->connected)	{		if (pInput)		{			if (pInput->cBuffers < 1)				return SEC_E_INVALID_TOKEN;			pBuffer = &pInput->pBuffers[0];			if (pBuffer->BufferType != SECBUFFER_TOKEN)				return SEC_E_INVALID_TOKEN;			status = BIO_write(context->bioRead, pBuffer->pvBuffer, pBuffer->cbBuffer);		}		status = SSL_connect(context->ssl);		if (status < 0)		{			ssl_error = SSL_get_error(context->ssl, status);			printf("SSL_connect error: %s/n", openssl_get_ssl_error_string(ssl_error));		}		status = BIO_read(context->bioWrite, context->ReadBuffer, SCHANNEL_CB_MAX_TOKEN);		if (status >= 0)		{			winpr_HexDump(context->ReadBuffer, status);		}		if (pOutput->cBuffers < 1)			return SEC_E_INVALID_TOKEN;		pBuffer = &pOutput->pBuffers[0];		if (pBuffer->BufferType != SECBUFFER_TOKEN)			return SEC_E_INVALID_TOKEN;		if (pBuffer->cbBuffer < status)			return SEC_E_INSUFFICIENT_MEMORY;		CopyMemory(pBuffer->pvBuffer, context->ReadBuffer, status);		pBuffer->cbBuffer = status;		return SEC_I_CONTINUE_NEEDED;	}	return SEC_E_OK;}
开发者ID:Arkantos7,项目名称:FreeRDP,代码行数:55,


示例28: nla_buffer_print

void nla_buffer_print(rdpNla* nla){	if (nla->negoToken.cbBuffer > 0)	{		WLog_DBG(TAG, "NLA.negoToken (length = %d):", (int) nla->negoToken.cbBuffer);		winpr_HexDump(TAG, WLOG_DEBUG, nla->negoToken.pvBuffer, nla->negoToken.cbBuffer);	}	if (nla->pubKeyAuth.cbBuffer > 0)	{		WLog_DBG(TAG, "NLA.pubKeyAuth (length = %d):", (int) nla->pubKeyAuth.cbBuffer);		winpr_HexDump(TAG, WLOG_DEBUG, nla->pubKeyAuth.pvBuffer, nla->pubKeyAuth.cbBuffer);	}	if (nla->authInfo.cbBuffer > 0)	{		WLog_DBG(TAG, "NLA.authInfo (length = %d):", (int) nla->authInfo.cbBuffer);		winpr_HexDump(TAG, WLOG_DEBUG, nla->authInfo.pvBuffer, nla->authInfo.cbBuffer);	}}
开发者ID:BrianChangchien,项目名称:FiWoRDC,代码行数:20,


示例29: xf_process_rail_appid_resp_event

void xf_process_rail_appid_resp_event(xfContext* xfc, rdpChannels* channels, wMessage* event){	RAIL_GET_APPID_RESP_ORDER* appid_resp =		(RAIL_GET_APPID_RESP_ORDER*) event->wParam;	fprintf(stderr, "Server Application ID Response PDU: windowId=0x%X "		"applicationId=(length=%d dump)/n",		appid_resp->windowId, appid_resp->applicationId.length);	winpr_HexDump(appid_resp->applicationId.string, appid_resp->applicationId.length);}
开发者ID:ADILOFASKI,项目名称:FreeRDP,代码行数:11,


示例30: credssp_buffer_print

void credssp_buffer_print(rdpCredssp* credssp){	if (credssp->negoToken.cbBuffer > 0)	{		fprintf(stderr, "CredSSP.negoToken (length = %d):/n", (int) credssp->negoToken.cbBuffer);		winpr_HexDump(credssp->negoToken.pvBuffer, credssp->negoToken.cbBuffer);	}	if (credssp->pubKeyAuth.cbBuffer > 0)	{		fprintf(stderr, "CredSSP.pubKeyAuth (length = %d):/n", (int) credssp->pubKeyAuth.cbBuffer);		winpr_HexDump(credssp->pubKeyAuth.pvBuffer, credssp->pubKeyAuth.cbBuffer);	}	if (credssp->authInfo.cbBuffer > 0)	{		fprintf(stderr, "CredSSP.authInfo (length = %d):/n", (int) credssp->authInfo.cbBuffer);		winpr_HexDump(credssp->authInfo.pvBuffer, credssp->authInfo.cbBuffer);	}}
开发者ID:AlessioLeo,项目名称:FreeRDP,代码行数:20,



注:本文中的winpr_HexDump函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ wiphy_dbg函数代码示例
C++ winpr_Handle_GetInfo函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。