ただいま解析中
先日から解析している Event Log ですが、ある程度目星がついたので掲載。
悩んでたログを吐くソフトウェアって、実は ServerProtect のことだったんです。なのでそのログを解析してみました。
こちらが、ServerProtect が吐いた Event Log です。
Data Size : 0x00000070 Date A : 0x404C5D09 Date B : 0x404C5D09 Event ID : 0x0035 (53) ???? : 0x8007 (32775) Type : 0x0002 (警告) Str. Num : 0x0000 (0) Category : 0x0007 (7) strpt : 0x00000068 sidsz : 0x0000000C sidpt : 0x0000005C datsz : 0x00000000 datpt : 0x00000068 Source : "SpntLog" Computer : "HOGE-HOGE" User SID : "S-1-1-18"
こちらは、logwrite2.exe (monyo.com) を使って吐いた Event Log。
Data Size : 0x00000064 Date A : 0x404C5D73 Date B : 0x404C5D73 Event ID : 0x0035 (53) ???? : 0x4000 (16384) Type : 0x0004 (情報) Str. Num : 0x0001 (1) Category : 0x0007 (7) strpt : 0x0000005C sidsz : 0x00000000 sidpt : 0x0000005C datsz : 0x00000000 datpt : 0x0000005E Source : "SpntLog" Computer : "HOGE-HOGE" strings 00 : ""
どちらも解析用に自分で作ったツールでバイナリ ダンプしてます。
決定的に違うのは、???? と書いたところ (Event Log では、各情報開始位置から、0x16 byte 目の 2 byte データになります) です。他のデータも見てみると、このデータが 0x0000 であったり 0x4000 であったりするケースは多く見受けるのですが、 0x8007 っていういのは無いんですよ。一体何のデータなんでしょうね、ここは・・・。
で、このデータなんですが、0x0000 の場合はどうも「説明」に Strings 00 に指定したメッセージがそのまま表示されているみたいなんです。すなわち、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services - \Eventlog\Application
のレジストリに記録されている DLL を参照していないで、説明を表示する、という荒業 (でもないか (苦笑) ) をやってのけるためのおまじないみたいなんですね。
さて、一体どうやって指定するのやら・・・。