Windows 2000のtaskmgr.exe にバグ
taskmgr.exe
| L0100329F: cmp esi,00000005h ja L01003313 jz L010032FB dec esi dec esi jnz L0100376F mov eax,[L0100D304] test eax,eax jz L010032C9 <- エラーの時は 0ではなく -1になるので jzではなく jl mov eax,[L0100D800+eax*4] test eax,eax jz L010032C9 mov edx,[eax] mov ecx,eax call [edx+08h] |
| L01004F52: mov eax,[L01015ECC] test eax,eax jz L01004F75 cmp eax,FFFFFFFFh jz L01004F75 lea eax,[L01015E78+eax*4] cmp dword ptr [eax],00000000h jz L01004F75 mov eax,[eax] mov edx,[eax] mov ecx,eax call [edx+08h] |
ちなみに、XP版。ちゃんと -1でチェックしてる
っていうか、jle(0x7e nn) にすればいいんじゃね?
| mov edi,L01001E48 L01009B4A: xor eax,eax cmp eax,[esi+20h] sbb eax,eax neg eax push eax push [edi] push [esi+04h] call [USER32.dll!GetDlgItem] push eax call [USER32.dll!EnableWindow] add edi,00000004h cmp edi,L01001E50 jc L01009B4A cmp dword ptr [L0100D304],00000000h jnz L01009BE0 |
こっちはXPも2000も同じバグがある(クラッシュはしないので大きな不具合ではない)
というわけで、KB839726 ベースで作ってみた修正版
Windows 2000 ターミナル サービス クライアント セッション中に タスク マネージャーの CPU (%) 列が更新されない
WLU からダウンロード可能
English/Francais/Italiano/中文繁体/日本語/日本語PC9821版/portugal/Deutsch が選択可能


WindowsLU-MS13-081B-x86-INTL.exeを適用しようすると、下記のエラーが表示されます。
WindowsLU-MS13-081B-x86-INTL.exeを適用しようすると、下記のエラーが表示されます。
以前記事にした、XP互換のUSBシステムに入れ替えてない場合は適用できないようになっています。
以前記事にした、XP互換のUSBシステムに入れ替えてない場合は適用できないようになっています。