2008年09月04日
fcwinとXP互換モード
KDWにはfcwinというツールが入っていますが、Wrapperでシステムファイルを操作されるのが嫌だと言う人にも便利なツールです。
関連記事:
nProtect と KDW
Windows 2000のAPIをアップグレードしてXPに近づける3
Windows 2000のAPIをアップグレードしてXPに近づける2
Windows 2000のAPIをアップグレードしてXPに近づける
互換オプション管理ツール【毎回 Windows XPとしてソフトを実行する】
Apcompat.exeのバグまとめ
Windows2000でXP用のアプリケーションを実行する2
Windows2000でXP用のアプリケーションを実行する1
Windows2000(SP2以前)で互換オプションを使いたい
1.強力な互換モード
OSの互換オプションはSP2以降に搭載されたと言われていますが、実は無印のWindows2000から遥かに強力な互換モードが搭載されています。
これを使うと、OSバージョンだけでなく、SPバージョンやBuild番号も任意の値に偽装することができ、下位OSだけでなく、上位OSのXPや2003、Vista、果てはまだ発表されていないOSバージョンもエミュレートすることが可能です。
この機能は実はXPでは削られてしまっているのですが、それを利用したのがfcwinの互換モードです。
例えば、InternetExplorer にこれを適用してみましょう。
User Agent String explained :
Your
User Agent String:
まず、適用前のUser-Agentです
まず、Program FilesInternet Explorer を開いて、IEXPLORE.EXEを別名でコピーします。(ここではIEXP.EXE)

1.これをfcwinにドラッグ&ドロップします。
2.そして、WindowsXPを指定します。
3.互換保存を押します。
4.下にIEXP.EXE が設定どおりに保存されれば成功です。
5.これを選択して互換削除を押せば元に戻ります。
![]() | |
---|---|
Mozilla | It's a Mozilla based browser |
4.0 | Mozilla Version |
compatible | Compatibility flag Indicates that this browser is compatible with a common set of features |
MSIE 6.0 | Internet Explorer |
Windows NT 5.0 | OS-or-CPU : ![]() |
.NET CLR 1.1.4322 | .NET is installed Version : 1.1.4322 |
.NET CLR 2.0.50727 | .NET is installed Version : 2.0.50727 |
まず、適用前のUser-Agentです

まず、Program FilesInternet Explorer を開いて、IEXPLORE.EXEを別名でコピーします。(ここではIEXP.EXE)

1.これをfcwinにドラッグ&ドロップします。
2.そして、WindowsXPを指定します。
3.互換保存を押します。
4.下にIEXP.EXE が設定どおりに保存されれば成功です。
5.これを選択して互換削除を押せば元に戻ります。
6.下の互換オプションでデバッガを指定したり、一時フォルダを変えたりすることもできます。
では、この互換モード版Internet ExplorerでUserAgentを見てみましょう。

では、この互換モード版Internet ExplorerでUserAgentを見てみましょう。
User Agent String explained :
Your
User Agent String:
サーバー側にはXPと見えていますね?
これを利用すると、GoogleChromeのように、ブラウザでWindows2000がはじかれるようなケースでも使えるわけです。
ブラウザに限らず、インストーラーに互換オプションを設定すれば、インストーラーのチェックをWindows2000の将来持っている機能でスキップさせることも可能なのです。
これとは別に、KDWのkernel32.dllをインストールすると使える互換モードがあります。
これは、kernel32.dllに含まれているバージョンチェック関数だけを指定したバージョンのOSに偽装するものです。

![]() | |
---|---|
Mozilla | It's a Mozilla based browser |
4.0 | Mozilla Version |
compatible | Compatibility flag Indicates that this browser is compatible with a common set of features |
MSIE 6.0 | Internet Explorer |
Windows NT 5.1 | OS-or-CPU : ![]() |
.NET CLR 1.1.4322 | .NET is installed Version : 1.1.4322 |
.NET CLR 2.0.50727 | .NET is installed Version : 2.0.50727 |
サーバー側にはXPと見えていますね?
これを利用すると、GoogleChromeのように、ブラウザでWindows2000がはじかれるようなケースでも使えるわけです。
ブラウザに限らず、インストーラーに互換オプションを設定すれば、インストーラーのチェックをWindows2000の将来持っている機能でスキップさせることも可能なのです。
2.KDWの互換モード
これとは別に、KDWのkernel32.dllをインストールすると使える互換モードがあります。
これは、kernel32.dllに含まれているバージョンチェック関数だけを指定したバージョンのOSに偽装するものです。

使うのは赤で囲った部分だけで、KDWのkernel32.dllがインストールされていない場合はグレーアウトします。
3.MSI(MicroSoft Installer)やEXE、DLLの自動書き換絵機能。
fcwinのもう一つの便利な機能は、msiやDLLに自動的にパッチを当てる機能です。
「有効なWin32アプリケーションではありません」と出て実行できないファイルや、このOSにはインストールできませんと表示されるMSIファイルをOrcaを使わずに自動で書き換えたりすることが可能です。(実はOrcaを使うと、msiが壊れてしまうケースがあるので作りました)
「有効なWin32アプリケーションではありません」と出て実行できないファイルや、このOSにはインストールできませんと表示されるMSIファイルをOrcaを使わずに自動で書き換えたりすることが可能です。(実はOrcaを使うと、msiが壊れてしまうケースがあるので作りました)

主に使うのは右側と左側のOSVersionです。
MSIを書き換える場合はMSI設定。
EXEやDLLを書き換える場合はEXE設定を使います。
a)MSIを書き換える場合。
・「上書き」か「MSI実行」のどちらかにチェックを入れます。(上書きはオリジナルのMSIを書き換え、MSI実行は書き換えずに実行。両方指定すると書き換えて実行)
・「Win2000許可」にするとWindows2000でインストールできるようにMSIを書き換えます。
・「IE5許可」はブラウザがIE6じゃないと怒られるような場合書き換えを実行します。
・「単独実行」は、SETUP.EXEから実行してくださいといわれるようなケースで指定すると実行できるようになるかもしれません。
b)DLLやEXEを書き換える場合。
・NTOSKRNL.EXEやデバイスドライバ.SYSはチェックサムがあっていないと起動できません。これを調整するのが「CheckSUM」オプションです。チェックを入れないと0で書き込みます。
・「WinConsole」はDLL専用で、WinConsole DLLフラグをONにします。
実行可能オプションは左側のOSVersionと併用して使います。「有効なWin32アプリケーションではありません」と表示されるようなファイルの場合、左のOSバージョンを下げてこのチェックを入れて書き換えれば利用できるようになります。(Windows9XやNTにも使えます)
・「2KDLL対応」は、KDW専用で、本来フックできないNTDLLを2kDLLのラッパーでフックするために強制的にNTDLLの文字列を2KDLLで置き換えるものです。
・「WinConsole」はDLL専用で、WinConsole DLLフラグをONにします。
実行可能オプションは左側のOSVersionと併用して使います。「有効なWin32アプリケーションではありません」と表示されるようなファイルの場合、左のOSバージョンを下げてこのチェックを入れて書き換えれば利用できるようになります。(Windows9XやNTにも使えます)
・「2KDLL対応」は、KDW専用で、本来フックできないNTDLLを2kDLLのラッパーでフックするために強制的にNTDLLの文字列を2KDLLで置き換えるものです。
・「拡張子無視」にチェックを入れるとATOK.IMEやQUICKTIME.QTSのように独自の拡張子を持っているファイルでも書き換えられるようになります。
・「特殊書換」はXPや2003用のmsvcrtやQuickTime.QTSを2000用に書き換えたりと、XPチェックの互換ライブラリを使っている関数を探して書き換えるものです。
1と3についてはKDWのWrapper不要で、単独で使用可能です。
関連記事:
nProtect と KDW
Windows 2000のAPIをアップグレードしてXPに近づける3
Windows 2000のAPIをアップグレードしてXPに近づける2
Windows 2000のAPIをアップグレードしてXPに近づける
互換オプション管理ツール【毎回 Windows XPとしてソフトを実行する】
Apcompat.exeのバグまとめ
Windows2000でXP用のアプリケーションを実行する2
Windows2000でXP用のアプリケーションを実行する1
Windows2000(SP2以前)で互換オプションを使いたい
Twitter Feedback
この記事へのコメント
1. Posted by さむ 2009年06月16日 20:57
こんばんは どうかお助け下さい
上記のとおりやったのですが、User Agent で W2Kのままなのです
コピーのIEクリックで立ち上げてるのですが
どうすればよいでしょうか?
上記のとおりやったのですが、User Agent で W2Kのままなのです
コピーのIEクリックで立ち上げてるのですが
どうすればよいでしょうか?
2. Posted by blackwingcat 2009年06月17日 00:22
IEXPLORE.EXEをFCWINで互換モードにすることでもUAを変更できますが、最新のFcwinはそれ自体にUA変更機能があるので、そちらをお使いください。
後、ブラウザは再起動しないとUA変わりませんよ?
後、ブラウザは再起動しないとUA変わりませんよ?
3. Posted by さむ 2009年06月17日 07:06
最新を入れ再起動もしましたがまったくダメです
2000のままなんら変わりません
MTUの数値設定のソフトと、↓の、Win SP Accelerator というのを入れてますが、いいですか?
http://www.vector.co.jp/soft/win95/util/se280428.html
あとチェック箇所を教えて下さい
2000のままなんら変わりません
MTUの数値設定のソフトと、↓の、Win SP Accelerator というのを入れてますが、いいですか?
http://www.vector.co.jp/soft/win95/util/se280428.html
あとチェック箇所を教えて下さい
4. Posted by blackwingcat 2009年06月17日 07:31
大丈夫です。
上の操作を行ったと書いてますが、行った操作を書き出してみてください。
後、このBlog内にあるChrome InstallerにあるUA機能は自動設定なので、そっち使ってみるといいかも知れません。(Chromeのダウンロードページまでいけるなら設定できてます)
上の操作を行ったと書いてますが、行った操作を書き出してみてください。
後、このBlog内にあるChrome InstallerにあるUA機能は自動設定なので、そっち使ってみるといいかも知れません。(Chromeのダウンロードページまでいけるなら設定できてます)
5. Posted by 理恵 2011年05月14日 19:54
こんばんわ、全くのPCど素人なんですがメールでわかりやすく手順を教えていただけませんか。
6. Posted by blackwingcat 2011年05月16日 01:01
このソフトは中級者・上級者向けなので、
本当にド素人だったら手を出さないほうがいいですよ
本当にド素人だったら手を出さないほうがいいですよ
10. Posted by user 2016年08月08日 17:28
これは2000以外では使えないのでしょうか?
例えばVista上にて7以上でないとはじかれるようなソフトに対して偽装するとか。
OSの互換オプションの問題もあるのでやはり無理でしょうか?
例えばVista上にて7以上でないとはじかれるようなソフトに対して偽装するとか。
OSの互換オプションの問題もあるのでやはり無理でしょうか?
11. Posted by 黒翼猫 2016年08月09日 00:32
Windows NT5.x 系にしかこの機能は無いようです
12. Posted by user 2016年08月09日 21:27
どうもありがとうございます。
やはりNT5.x系のみですか…
無念…
やはりNT5.x系のみですか…
無念…