Create GetInMemoryModulePathFromProcessParameters.cpp

This commit is contained in:
vxunderground 2022-07-14 22:58:56 -05:00 committed by GitHub
parent d90795b4ed
commit eabd6cb4b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,22 @@
DWORD GetInMemoryModulePathFromProcessParametersA(DWORD nBufferLength, PCHAR lpBuffer)
{
PRTL_USER_PROCESS_PARAMETERS ProcessParameters = GetPeb()->ProcessParameters;
if (nBufferLength < ProcessParameters->ImagePathName.Length)
return ERROR_FAILURE_RETURN;
return (DWORD)WCharStringToCharString(lpBuffer, ProcessParameters->ImagePathName.Buffer, ProcessParameters->ImagePathName.MaximumLength);
}
DWORD GetInMemoryModulePathFromProcessParametersW(DWORD nBufferLength, PWCHAR lpBuffer)
{
PRTL_USER_PROCESS_PARAMETERS ProcessParameters = GetPeb()->ProcessParameters;
if (nBufferLength < ProcessParameters->ImagePathName.Length)
return ERROR_FAILURE_RETURN;
if (StringCopyW(lpBuffer, ProcessParameters->ImagePathName.Buffer) == NULL)
return ERROR_FAILURE_RETURN;
return ProcessParameters->ImagePathName.Length;
}