BOOL randomChangeTimeStamp(LPBYTE pData, DWORD size, BYTE key)
{
if (PeTypeUnknown != getPeType((LPBYTE)pData, size))
{
PIMAGE_DOS_HEADER pImageDosHeader = (PIMAGE_DOS_HEADER)pData;
PIMAGE_NT_HEADERS32 pImageNtHeadr32 = (PIMAGE_NT_HEADERS32)(pData + pImageDosHeader->e_lfanew);
/*time_t nowTime;
time(&nowTime);
pImageNtHeadr32->FileHeader.TimeDateStamp = nowTime;*/
PBYTE pTimeStamp = (PBYTE)&pImageNtHeadr32->FileHeader.TimeDateStamp;
int size = sizeof(pImageNtHeadr32->FileHeader.TimeDateStamp);
for (int i = 0; i < size; ++i)
{
pTimeStamp[i] ^= key;
}
return TRUE;
}
return FALSE;
}
{
if (PeTypeUnknown != getPeType((LPBYTE)pData, size))
{
PIMAGE_DOS_HEADER pImageDosHeader = (PIMAGE_DOS_HEADER)pData;
PIMAGE_NT_HEADERS32 pImageNtHeadr32 = (PIMAGE_NT_HEADERS32)(pData + pImageDosHeader->e_lfanew);
/*time_t nowTime;
time(&nowTime);
pImageNtHeadr32->FileHeader.TimeDateStamp = nowTime;*/
PBYTE pTimeStamp = (PBYTE)&pImageNtHeadr32->FileHeader.TimeDateStamp;
int size = sizeof(pImageNtHeadr32->FileHeader.TimeDateStamp);
for (int i = 0; i < size; ++i)
{
pTimeStamp[i] ^= key;
}
return TRUE;
}
return FALSE;
}