アンチキーロガーソフトの仕組みについて  
アンチキーロガーソフト（有名なところでいうと「ノーロガー」<https://www.vector.co.jp/soft/winnt/util/se337673.html>）はどのような仕組みでキーロガーの無効化しているのでしょうか？

私自身、C++でWindowsフック（グローバルフック
WH_KEYBOARD_LL）を用いたキーロガーを開発していたのですが、ノーロガーにすべて防がれてしまい、どのような仕組みで無効化しているか気になった次第です。

もしかして、WH_DEBUGでフックの前に呼び出しているのかなとか思ったのですが、キーコードを変えてしまえば正常にキー入力が出来ませんから、キーロガーのフックだけを巧みにかわしてプログラムにメッセージを送っているということになります。

以下に私のキーロガーのログファイルを記します。  
Code=1とはKBDLLHOOKSTRUCT構造体のvkCodeに送られてきたキーコードです。

```

    M 18:03:22 [左クリック] 
    K 18:03:25 A
    K 18:03:25 B
    K 18:03:25 C
    M 18:03:28 [左クリック] ←ノーロガー起動
    K 18:03:29 [OEM固有] Code = 1
    K 18:03:29 [OEM固有] Code = 1
    K 18:03:29 [OEM固有] Code = 1
    K 18:03:30 [OEM固有] Code = 1
    K 18:03:31 [OEM固有] Code = 1
    K 18:03:31 [OEM固有] Code = 1
    K 18:03:32 [OEM固有] Code = 1
    K 18:03:32 [OEM固有] Code = 1
    K 18:03:32 [OEM固有] Code = 1
    K 18:03:33 [OEM固有] Code = 1
    K 18:03:33 [OEM固有] Code = 1 ←ノーロガー終了
    K 18:03:37 1
    K 18:03:38 2
    K 18:03:38 3
    M 18:03:41 [左クリック]
    K 18:03:42 [L-Alt]
    K 18:03:42 [F3]
    K 18:03:42 [--END KEY LOGGER--]
    
```
CC BY-SA 4.0
2019-04-15T08:07:02.537
54179
2019-04-15T13:25:55.780
2019-04-15T13:25:55.780
19110
question
c++ visual-c++
アンチキーロガーソフトの仕組みについて