Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Подмена значения в реестре. (https://forum.antichat.xyz/showthread.php?t=48610)

idef 08.09.2007 23:43

Подмена значения в реестре.
 
Нужно подменить значение в реестре.Где-то читал, что значения перечисляются функцией NtEnumerateValueKey, но при подмене параметра Name никаких изменений не произошло(выводится старое значение).
Код:

static NTSTATUS WINAPI xNtEnumerateValueKey(
                HANDLE KeyHandle,
                ULONG Index,
                KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
                PVOID KeyValueInformation,
                ULONG KeyValueInformationLength,
                PULONG ResultLength
        )
{
WCHAR regstr[]    = L"NameValue";
WCHAR teststr[]  = L"Val02";
NTSTATUS ns;KEY_VALUE_FULL_INFORMATION *kvfi = NULL;
kvfi = (KEY_VALUE_FULL_INFORMATION*)KeyValueInformation;
ns=NtEnumerateValueKey(KeyHandle,Index,KeyValueInformationClass,KeyValueInformation,KeyValueInformationLength,ResultLength);
if(ns==STATUS_SUCCESS & kvfi->Type==REG_SZ)
{
if(RtlCompareMemory((PVOID)&kvfi->Name[0],(PVOID)&regstr[0],9)==9)
{
RtlCopyMemory((PVOID)&kvfi->Name[4],(PVOID)&teststr[0],4);
}
}
return ns;
}

Как правильно подменить значение?

Ni0x 08.09.2007 23:51

тебе нужен NativeAPI? Если да, то смотри исходники руткитов, там обычно перехватываются такие функции.

idef 09.09.2007 00:01

В руткитах есть подобная фенька, но там немного другое. Там с помощью данной функции перечисляются значения и если найдено значение которое нужно спрятать, прячется сам ключ, а мне нужно подменить значение.


Время: 09:38