Нужно подменить значение в реестре.Где-то читал, что значения перечисляются функцией NtEnumerateValueKey, но при подмене параметра Name никаких изменений не произошло(выводится старое значение). Code: 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)®str[0],9)==9) { RtlCopyMemory((PVOID)&kvfi->Name[4],(PVOID)&teststr[0],4); } } return ns; } Как правильно подменить значение?
тебе нужен NativeAPI? Если да, то смотри исходники руткитов, там обычно перехватываются такие функции.
В руткитах есть подобная фенька, но там немного другое. Там с помощью данной функции перечисляются значения и если найдено значение которое нужно спрятать, прячется сам ключ, а мне нужно подменить значение.