파일의 버전 정보 가져오기
BOOL IsMicroSoft(TCHAR *pFile)
{
BOOL bRet = FALSE;
PBYTE pInfo = NULL;
TCHAR *pCompany;
DWORD dwSize;
LANGANDCODEPAGE *plcp;
UINT nSize;
TCHAR *pToGet = new TCHAR[MAX_PATH];
ZeroMemory(pToGet, MAX_PATH * sizeof(TCHAR));
dwSize = GetFileVersionInfoSize(pFile, 0);
if (dwSize > 0)
{
pInfo = new BYTE[dwSize];
if (GetFileVersionInfo(pFile, 0, dwSize, pInfo))
{
//plcp pInfo ,
if (VerQueryValue(pInfo, _T("\\VarFileInfo\\Translation"), (PVOID*)&plcp, &nSize))
{
wsprintf(pToGet, _T("\\StringFileInfo\\%04X%04X\\CompanyName"), plcp->wLanguage, plcp->wCodePage);
if (VerQueryValue(pInfo, pToGet, (PVOID*)&pCompany, &nSize))
{
if (lstrcmp(_T("Microsoft Corporation"), pCompany) == 0) bRet = TRUE;
}
}
}
delete[] pInfo;
}
delete[] pToGet;
return bRet;
}
나의 이 함수는 마이크로소프트의 버전인지 아닌지를 판단하는 것이다. 비교적 간단하고 위조하기 쉬우나, 또한 하나의 방법이기도 하다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Microsoft에 인증되지 않은 취약점? 이야기Microsoft는 제품이나 서비스의 취약성을 발견하면 보상금을 받을 수 있는 제도 「Microsoft Bug Bounty Program」이 있다. 본 기사에서는 Microsoft에 인정되지 않았지만, 유저에게의 리...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.