本文介绍了将此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。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!