We don't display ads so we rely on your Bitcoin donations to 1KWEk9QaiJb2NwP5YFmR24LyUBa4JyuKqZ
Post date: Mar 16, 2010 2:46:24 PM
{
Unit: Get/Set PEB - GetModuleFileName
Author: steve10120
Description: Get and/or set the PEB filename value.
Credits: Karcrack
Website: hackhound.org
}
When injected into another process, retreive the correct GetModuleFileName as opposed to the process you are injected to.
function AltGetPEBModuleFileName():WideString;
var
szBuff: PWideChar;
begin
asm
mov eax, [FS:030h]
mov eax, [DS:eax+010h]
mov eax, [DS:eax+03Ch]
mov szBuff, eax
end;
Result := szBuff;
end;
procedure AltSetPEBModuleFileName(szPath:PWideChar);
asm
mov edx, szPath
mov eax, [FS:030h]
mov eax, [DS:eax+010h]
mov [DS:eax+03Ch], edx;
end;
Usage:
begin
MessageBoxW(0, PWideChar(AltGetPEBModuleFileName), nil, 0);
AltSetPEBModuleFileName('C:\test.exe');
MessageBoxW(0, PWideChar(AltGetPEBModuleFileName), nil, 0);
end.