Windows 2000のSENS.DLL が Symantec のセキュリティソフトと相性が悪い件
svchost.exe が 原因不明のクラッシュを起こすので調査をしてみました
mov eax,[L76118234] <- なぜか、定数が代入される cmp eax,edi jz L761131E0 lea ecx,[ebp-08h] mov [ebp-08h],edi push ecx lea ecx,[ebp-0Ch] push ecx mov [ebp-10h],edi lea ecx,[ebp-0000078Ch] mov edi,0000054Ch push ecx lea ebx,[ebp-0000078Ch] mov [ebp-0000078Ch],edi mov [ebp-0Ch],edi call eax <- 定数アドレスに飛ぶのでクラッシュ |
原因は SENS.DLL にあることが判明
アドレス 0x76118234,0x76118238 のデータが破損することが分かります
SUB_L761132D1: cmp dword ptr [L76118234],00000000h push esi push edi jz L761132DF L761132DC: pop edi pop esi retn ;------------------------------------------------------------------------------ L761132DF: push SWC7611387C_RasApi32_dll call [KERNEL32.DLL!LoadLibraryW] mov edi,eax test edi,edi jz L761132DC mov esi,[KERNEL32.DLL!GetProcAddress] push SSZ76113868_RasEnumConnectionsW push edi call esi push SSZ7611384C_RasConnectionNotificationW push edi mov [L76118234],eax call esi cmp dword ptr [L76118234],00000000h mov [L76118238],eax jnz L761132DC jmp L761159CC |
本来はゼロセットされてるので、値が初期化されてるべきなのですが
定数20 ~ 1000 位の値が入ってることがあって初期化処理を通らないようなのです。
そこで、試しに、 XP の sens.dll を使ってみたところ、落ちなくなりました・ω・;
Comments