Windows10のアスカ見参のSafeDisc(「Security Driver」secdrv.sys)対策

まずは現状の認識から

アスカ見参をWindows10で動かそうとすると、以下のダイアログが出て起動できません。

アクセスが拒否されました

管理者権限で実行しても起動できるわけではなく、SafeDiscのチェックに失敗した際に出るエラーメッセージです。

アスカ見参を起動するためにはSafeDiscチェックが必要

アスカ見参起動時の処理には、SafeDiscを使用したチェックがあります。

SafeDiscのを使用したチェックには、「Security Driver」ドライバサービスが必要です。

「Security Driver」ドライバサービスを使用するには、サービスが開始している必要があります。

「Security Driver」ドライバサービスの実体のファイルが「secdrv.sys」です。

「secdrv.sys」はMacrovisionが開発し、以前のOSではWindowsインストール時から組み込まれていました。

「Security Driver」ドライバサービスによってコピープロテクトが実現できるが、潜在的なセキュリティリスクもあったためWindows10にはインストールもされず、以前のOSもUpdateで無効化されてしまいました。

Windows7では

個人的にはWindowsXP→Windows8→Windows10で移行したため仮想環境で確認したレベルですが、すべてのUpdateを適用した場合でもサービスはなくなっておらず、起動時にサービスが開始していないだけなのでコマンドでサービスを開始すれば簡単に起動できました。(セキュリティリスクはなくなりませんが…)

Windows10では

Windows10では結構長い道のりで実行させることができます。(テストモードでですが)

  1. まず「secdrv.sys」ファイル自体がないので、以前のOSからファイルを入手する必要があります。
  2. 入手した「secdrv.sys」ファイルはデジタル署名はありませんので、64bitOSの場合は動作させることができません。(64bitOSの場合はドライバーはデジタル署名が必須となりました)
  3. 「secdrv.sys」に簡単にデジタル署名を追加する方法として自己署名を行います。(自己証明書を作り、ドライバファイルに署名する)
  4. 自己署名したドライバサービスは、標準のWindows10では動作させることができず、テストモードのスタートアップ設定でドライバ署名の強制を無効にして起動します。(当然セキュリティリスクがある状態になる)
  5. このテストモードで起動している間は、自己署名したドライバサービスを設定して開始することができるようになりますので、コマンドでサービスを開始できます。(セキュリティリスクはありますが)
  6. テストモードに変更するにはOS再起動が必須なので、セキュリティリスクが気になるならその都度変えないといけません。
  7. ちなみに「Security Driver」ドライバサービスは、アスカ見参のウィンドウが表示されるぐらいで使用は終わってるようですので、起動したらサービス停止してもアスカ見参はそのまま動作するようです。

上記の方法は、今なら適当に検索してもそれなりに方法が書いてあると思います。

通常の状態(テストモードも使用せず、セキュリティリスクのない状態)で起動するためのAsukaPlusの導入

AsfPc.exeと同じフォルダにd3d8.dllを置いてAsfPc.exeを起動するだけで何も設定することなくアスカ見参が起動できます。(ランタイムのインストールは必要ですが)

やっていることは、「Security Driver」ドライバサービスを呼び出させずに、エミュレートしているだけです。「Security Driver」ドライバサービスを使用しないため、上記ドライバ云々の話は何もする必要はなく起動できます。AsukaLibとの共存はできませんので、追々必要な機能は追加していくかもしれません。

Visual Studio 2013 の Visual C++ 再頒布可能パッケージ(OSに関係なくx86版)

Visual Studio 2013 の C++ で開発したため、上記のランタイムをインストールする必要があります。起動する際に以下のダイアログが出る場合はインストールが必要です。

システムエラー(ランタイム不足) inserted by FC2 system