MS11-025 を入れると 98/Me/NT/2000でソフトが動かなくなる件 その1
MS11-025のセキュリティアップデートで配布されている VC++2005 Runtime 及び、VC++2008 Runtime をインストールすると
Windows 2000以前のOSでは動作しなくなることが確認されました
注:6/15のアップデートで解消
こっそりWindows 2000向けに MS11-025が更新されたよ
調べてみると mfc80u.dll および mfc80.dll に SxS関連の関数として FindActCtxSectionStringAがコールされていることが分かりました。
L786FF257: lea edx,[ebp-00000170h] push edx call [SHLWAPI.dll!PathFindFileNameA] mov [ebp-04h],eax lea eax,[ebp-50h] push eax mov ecx,[ebp-04h] push ecx push 00000002h push 00000000h push 00000001h call [KERNEL32.dll!FindActCtxSectionStringA] test eax,eax jz L786FF292 push 00000000h push 00000000h mov edx,[ebp-04h] push edx call [KERNEL32.dll!LoadLibraryExA] mov [ebp-0Ch],eax jmp L786FF2A6 L786FF292: push 00000000h push 00000000h lea eax,[ebp-00000170h] push eax call [KERNEL32.dll!LoadLibraryExA] mov [ebp-0Ch],eax L786FF2A6: mov eax,[ebp-0Ch] |
赤字の部分が以前のOSには不要なコード。
Microsoft Windows Legacy Update で公開しましたのでご利用ください。
Comments