всем привет! пробовал похукать zwquerykey - результата не дало. похукал ZwEnumerateValueKey: (tramp_pr- трамплин на оригинальную функцию) PHP: function ZwenumKey(KeyHandle:THANDLE;index:dword; KeyValueInformationClass:DWORD; KeyValueInformation:Pointer;Length:DWORD;ResultLength:pointer):ntstatus;stdcall; external 'ntdll.dll' name 'ZwEnumerateValueKey'; function newquery(KeyHandle:THANDLE;index:dword; KeyValueInformationClass:DWORD; KeyValueInformation:Pointer;Length:DWORD;ResultLength:pointer):ntstatus;stdcall; var Ki, sign:pointer; begin ki:=nil; Result := tramp_pr(keyhandle,index,keyvalueinformationclass,KeyValueInformation,length,resultlength); if (keyValueInformationClass=0)or(keyValueInformationClass=2) then begin getmem(ki,integer(resultlength^)-12); zeromemory(ki,integer(resultlength^)-12); copymemory(ki,pointer(dword(keyvalueinformation)+12),integer(resultlength^)-12); end; if keyValueInformationClass=1 then begin getmem(ki,integer(resultlength^)-20); zeromemory(ki,integer(resultlength^)-20); copymemory(ki,pointer(dword(keyvalueinformation)+20),integer(resultlength^)-20); end; sign:=nil; getmem(sign,(lstrlenw('Cmiboot')*2)); //скопируем только то что предположительно может ровняться cmiboot Zeromemory(sign,(lstrlenw('Cmiboot')*2)); copymemory(sign,ki,lstrlenw('Cmiboot')*2); if(lstrcmpiw(sign,'Cmiboot')=0) then result:=$8000001A;//ntstatus_no_more_items end; при таком раскладе вылетают все приложения, но ключ скрывается, и когда кликаю на другую ветку в регедите то он тож вылетает. если остаивть только PHP: Result := tramp_pr(keyhandle,index,keyvalueinformationclass,KeyValueInformation,length,resultlength); все работает правильно(только ясен пень не скрывает). вчем может быть проблема?
Ntroot как классика к вашим услугам. тока фигня все это, х86 скоро канет в лету консайдер юзинг х64 платформ,- там свой подкидной дурак с блядями и патчгвардом - гораздо интереснее.
опытным путем выяснил что валиться на coptmemory. уже и getmem заменил на virtualalloc и удрал все чтоб заставить память нормально копироваться. как заставить память копироваться? уже изъебся в шишки