По сути, я хотел бы иметь возможность изменять PEB командной строки, которая, по моему мнению, имеет смещение 0x70
. Я пытаюсь сделать это, используя WriteProcessMemory
, который является частью Kernel32.dll
.
Current_ImageBase.buffer = pNewAddr;
if (!WriteProcessMemory(hProcess, rtlUserProcParamsAddress + 0x70, (IntPtr)(&Current_ImageBase), Marshal.SizeOf(typeof(UNICODE_STRING)), out intPtrOutput))
{
Console.WriteLine("ERROR: Failed to reflect change back to PEB.\n");
return false;
}
Это должно изменить CommandLine PEB.