Windows Defender の定義が XP 等で動かなくなったのはMSの嫌がらせの可能性
mov edx,[L5ABC0F5C] push ecx push SSZ5A1A1904_EventRegister mov ecx,L5AB9B3A0 call SUB_L5A453531 test eax,eax js L5A4126A9 mov edx,[L5ABC0F5C] push ecx push SSZ5A1A1914_EventUnregister mov ecx,L5AB9B3A4 call SUB_L5A453531 test eax,eax js L5A4126A9 mov edx,[L5ABC0F5C] push ecx push SSZ5A1A1924_EventWriteTransfer mov ecx,L5AB9B3AC call SUB_L5A453531 test eax,eax js L5A4126A9 mov edx,[L5ABC0F5C] push ecx push SSZ5A1A1938_EventActivityIdControl mov ecx,L5AB9B3A8 call SUB_L5A453531 test eax,eax js L5A4126A9 |
EventRegister や EventUnregister、EventWriteTransfer、EventActivityIdControl はXPにはない関数なので、遅延ロード処理があります。
ところが、EventActivityIdControl だけ、MPENGINE.DLLの インポートテーブルで実参照されているため、起動できないようになってるのです。
どうみても、嫌がらせですね・ω・
EventUnregister:
EventActivityIdControl:
push 0000007Fh pop eax
retn 0008h
EventRegister:
push 0000007Fh
pop eax
retn 0010h
EventWriteTransfer:
push 0000007Fh
pop eax
retn 001Ch
|
ちなみに定義はこうなってる
XP SP3 なのですが、試しに
Windows2000-KB935839-v30-x86-JPN.exe
の
ADVAPI32.DLL 5.0.2195.7074
を
mpengine.dll 1.1.15900.4
と同じフォルダに置いて depends.exe で開いてみると、この場合は EventActivityIdControl ではなく CredProfileLoaded というやつに赤が付きました。
一応報告まで。