Windows8 64bitで魔法使いの夜をプレイ

魔法使いの夜というノベルゲーム(詳細はググって)がありますが
Windows8 64bit(のConsumer Preview)では動作しません。
2013/01/14追記:すでに公式で修正パッチが出ています、単純に魔法使いの夜をプレイしたいだけの人は公式のサポートページへGO。

動作しない理由は簡単、不正行為防止用のプロテクトが不正環境だと誤認しているからです。
このページではWindows8 64bitで魔法使いの夜をプレイする方法と、その原理を説明します。

説明とかいいからうごかし方だけ教えろという方向けの完成品。
Win8WOH.zip
使い方はzipの中のversion.dllを魔法使いの夜.exeと同じディレクトリに置く、それだけ。

この記事の目次

なぜWindows8では動かないのか

plugin/魔法使いの夜.tpmがプロテクトなどなどを行っているDLLで
(拡張子がdllじゃないですが、中身は普通のdllです。 KIRIKIRIプラグインなので拡張子がtpmなだけ)
起動時に読み込まれているKernel32.dllが正規のシステムディレクトリ以下に配置されているものかどうかのチェックをしています。

ですが、この確認方法に問題があって
確認用パス取得に使用しているGetModuleFileNameAは
Windows7 64bitであれば%windir%SysWOW64以下と返しますが、Windows8 64bitであれば%windir%System32以下と返します。

魔法使いの夜.tpmは必ずSysWOW64の法のパスを返す前提で動作しているため、Windows8では不正な環境であるとみなされ起動しなくなるのです。

ちなみに、MSDN上ではどちらの挙動になるとも言及されていません。
つまり未規定の動作に頼っていることになるので、あまり行儀のいいこととは言えません。

どうやって動くようにしたのか

動くようにするのは簡単で、GetModuleFileNameAが%windir%SysWOW64以下のパスを返すようになればいいわけです。

起動時に読み込むDLLのダミーをアプリケーションと同じディレクトリに配置して読み込ませ
IATテーブルという外部DLL呼び出しに使う部分のGetModuleFileNameA部分を自作関数へ向くように書き換え
そこでKernel32.dllを対象としているときのみ、SysWOW64以下のパスを返すようにしました。

終わりに

実は魔法使いの夜はexe本体やtpmなどにパッチをあてるとプロテクトに引っかかって起動できなくなります。
今回の目的はプロテクトを解除することではないので、プロテクト対象外のdllのダミーを使うことで実現しています。

dllを署名するなど仕組みが分かっていても破るのが難しいプロテクトを入れるのは素晴らしいのですが
今回のような、MSDNに記述されていない細部の挙動に頼った幼稚なプロテクトはやめていただきたいところ。

ほんと、署名部分は素晴らしいのになぁ。

2013/01/14追記:
いろいろなところからリンクされててびっくりしました。
どうやら魔法使いの夜に限らず、ワムソフト版と呼ばれる吉里吉里エンジンを使用したゲーム全般で発生する問題だったようで、
なまじ汎用的に作っちゃったのでどのゲームもこれで動くようになった、ということらしいです。

ワムソフトさんではすでに対応版を出しているらしく、動きの速いところでは公式で修正パッチが出ているそうなので、出ているものはそちらを使いましょう。
それでもだめなら、だめもとで使ってみるといいかも?
動作確認していないのでちゃんと動くかは保証しかねますが。

Windows8 64bitで魔法使いの夜をプレイ” への129件のフィードバック

  1. 8では起動しない事を知らないで買ってしまった妹スタイルを起動できました!ありがとうございます!

  2. あんたはすごい!あきらめていた失われた未来を求めてが無事起動出来ました!!感謝です

  3. ユユカナの場合具体的にどうしたらいいですか?できれば、おしえてもらいたいです。。。

  4. yuyukana.exeと同じディレクトリにWin8WOH.zipの中のversion.dllを配置して、あとは通常通りyuyukana.exeを起動するだけでいいはずです。
    ただし、非公式パッチであるのと、一般にウイルスも使う技術を用いているため、動かない環境もあります。
    その場合、一個人である私ではどうにもできないのであきらめてください。

  5. 有り難う御座います、有り難う御座います
    11eyes resona forma が Win8 で起動できました!

  6. ありがとう!コンチェルトノートとかその他30くらいのゲームが動いたよ!
    あんたは神や!

  7. 利用させていただきました。ありがとうございます
    それにしてもすごい知識と技術ですね・・・
    PCにはまったく疎いため感心しきりです

  8. 利用させていただいたところ、驚くことに「ユユカナ」などがwindows8.1でも動きました!あなたは神です!ありがとう!感謝感謝!

  9. メーカーさんが解散してしまったゲームが動かなくて困ってたので本当に助かりました!
    こういうの考えられるのって凄いと思います!
    ありがとうございました!

  10. 晴れときどきお天気雨ができました!!
    1日悩んでいたのに!!
    ありがとうございます!!

  11. 絶対可憐!お嬢様っ 
    動きました!!! 本当にありがとうございます!!

  12. ソラハネ AQUA Windows8.1 で起動できました。

    お陰様でサクサク快適にプレイを楽しめています。

    ありがとうございました!!

  13. 起動できずにインストール→放置していた
    光輪の町、ラベンダーの少女 他7つが起動できるようになりました!
    頼り切りで申し訳ないですが、ほんにありがとうございます!

  14. 当方のようなPC初心者にも非常にわかりやすい解説で感謝しています。

    参考にしたいと思います。

  15. アニメ見て再燃。実家から持ってきた、失われた未来を求めてが無事、Win8.1で動きました。ありがとうございます。

  16. 吉里吉里が使われているのはなんでも使用可能っぽいですね。失われた未来を求めてのフォルダにいれて起動確認。

  17. “ETOILES”の『カラフル☆きゅあー』も問題無く起動できました!
    ありがとうございました!

  18. windows8では無理だと思っていたSORAHANEのAQUAをあっさり起動できました!
    ありがとうございます!

  19. ありがとうございます!!
    AQUA起動できました。ほんとにありがとうございます

  20. 桜ノーリプライ起動できませんでした
    読み込みエラーになります
    残念‥

  21. しとろんソフトの『妹スマイル』が起動できないのですが、この方法では駄目なのでしょうか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です