What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Патчинг ImagePathName

Hayes

Light Weight
Депозит
$0
Всем привет. Понадобилась возможность патчить путь к текущему модулю, то значение которое дает GetModuleFileNameW(NULL, ...). Патчинг peb->ProcessParameters->ImagePathName не помогает. Посмотрел в отладчике, выходит что путь кешируется и LdrGetFullName отдает путь читая путь из хипа. Может как то можно выйти на эти указатели, не хочется хукать LdrGetFullName
 
Да действительно работает. Че то жестко тупанул:
C++:
Скопировать в буфер обмена
bool SetCurrentModulePath(PCWSTR path)
{
PPEB peb = (PPEB)NtCurrentTeb()->ProcessEnvironmentBlock;
PPEB_LDR_DATA ldr = (PPEB_LDR_DATA)peb->Ldr;

((PLDR_DATA_TABLE_ENTRY)ldr->InLoadOrderModuleList.Flink)->FullDllName;

API(NTDLL, RtlCreateUnicodeString)(&((PLDR_DATA_TABLE_ENTRY)ldr->InLoadOrderModuleList.Flink)->FullDllName, path);

return true;
}
Последнее редактирование: 14.02.2024
 
Top