Перехват ZwEnumerateValueKey.

Discussion in 'WASM.BEGINNERS' started by LB_K, Jan 28, 2007.

  1. LB_K

    LB_K New Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2006
    Messages:
    8
    Уже битый час бьюсь над проблемой.
    Суть в том, что перехватываю ZwEnumerateValueKey и заменяю своей NewZwEnumerateValueKey.
    Code (Text):
    1. Function NewZwEnumerateValueKey(
    2.              KeyHandle: dword;
    3.          Index: ULONG;
    4.          KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS;
    5.          KeyValueInformation: pointer;
    6.          Length: ULONG;
    7.          ResultLength: PULONG):NTStatus; stdcall;
    8. begin
    9.     Result := TrueZwEnumerateValueKey(KeyHandle,
    10.                             Index,
    11.                              KeyValueInformationClass,
    12.                              KeyValueInformation,
    13.                              Length,
    14.                              ResultLength);
    15. end;
    Но после такой замены ни одного ключа в реестре не видно.
    Метод перехвата взят из статьи Ms-Rem'а (Перехват API функций в Windows NT (часть 2)).
     
  2. Cr4sh

    Cr4sh New Member

    Blog Posts:
    0
    Joined:
    Apr 17, 2006
    Messages:
    668
    ошибка скорее всего не в самом обработчике, в нём же ничего не делается, кроме вызова оригинальной ф-ции =)
     
  3. LB_K

    LB_K New Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2006
    Messages:
    8
    Таким же методом я запросто прячу файлы и процессы, а с реестром какая-то проблема.
     
  4. el-

    el- New Member

    Blog Posts:
    0
    Joined:
    Sep 14, 2006
    Messages:
    89
    каим таким ? если все что делает это вызывает ностоящие свое значение скорее всего ты где то закосячил с хуком и из-за этого настоящая функция не вызываетсяя или выдает ошибку из-за этого и не работает ничего ...
     
  5. LB_K

    LB_K New Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2006
    Messages:
    8
    Функция вызывается точно (проверено банальным MessageBox'ом). А метод перехвата взят из статьи Ms-rem'а, часть 2.

    P.S. Хотя бы дайте рабочий пример перехвата ZwEnumerateValueKey.
    (Препарировал AFXRootkit2005, но он тоже отказывается работать)
     
  6. Stub

    Stub New Member

    Blog Posts:
    0
    Joined:
    May 11, 2004
    Messages:
    311
    Location:
    Siberia
    LB_K
    Поищи по форуму, когда то я выкладывал рабочий код... да и на крайний случай в гугле поищи.
     
  7. WIN32

    WIN32 Member

    Blog Posts:
    0
    Joined:
    Jan 20, 2007
    Messages:
    338
    http://clickf1.xakep.kz/?p=17