本文介绍了将此C ++代码转换为c。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将此c ++代码转换为c。





Convert this c++ code to c.


bool inline DataCompare(const BYTE* pbData, const BYTE* pbMask, const char* pszMask)
{
	for (; *pszMask; ++pszMask, ++pbData, ++pbMask)
	{
		if (*pszMask == 'c' && *pbData != *pbMask)
		{
			return false;
		}
	}
	return (*pszMask == NULL);
}




DWORD inline FindPattern(DWORD dwStart, DWORD dwSize, const BYTE* szSig, const char* szMask)
{
	PBYTE data = new BYTE[dwSize];
	unsigned long bytesRead;
	if (!ReadProcessMemory(process, (LPVOID)dwStart, data, dwSize, &bytesRead))
	{
		delete[] data;
		data = nullptr;
		return NULL;
	}
	for (DWORD i = 0; i < dwSize; i++)
	{
		if (DataCompare((const BYTE*)(data + i), szSig, szMask))
		{
			delete[] data;
			data = nullptr;
			return dwStart + i;
		}

	}
	delete[] data;
	data = nullptr;
	return NULL;
}





如果你能提供帮助我会很感激。



我尝试过:



尝试过的代码出现了一些错误。链接 []

推荐答案


引用:

PBYTE数据=新BYTE [dwSize];

PBYTE data = new BYTE[dwSize];

变为

becomes

PBYTE data = (PBYTE) malloc(dwSize);





序列



while the sequence

Quote:

删除[]数据;

data = nullptr;

delete[] data;
data = nullptr;

变为

becomes

free(data);
data = NULL;


这篇关于将此C ++代码转换为c。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 15:08