• 締切済み

仮想PCの見分けかた ver.2

ハードウェア監視式のプロテクトをプログラムに仕掛けたとして、仮想PCにそのハードウェアと同じ設定が読み込まれていたとした場合、プロテクトが無効になってしまい、しかも仮想PCファイルとして共有されてしまう可能性があります。 これを回避する方法としてはどんな方法があるでしょうか?

みんなの回答

  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.3

#2です。 回答を書いてから、最初の質問を見ました。 VirtualPCやVMwareに相当するプログラムをゼロから作ってハードウェアをエミュレートされると困るという心配でしょうか? もしそうなら杞憂です。そんなことをするくらいなら、あなたのプログラムを解析してプロテクト部分を削除する方がずっと楽です。

0-o
質問者

お礼

まぁそりゃそうでしょうね。

  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.2

仮想PCは何種類かありますが、種類ごとに特定のハードウェアをエミュレートしています。たとえば、VMWareServerでは440BXチップセットというかなり古いハードウェア(古いOSを動かすため)に見せかけたものです。 MicrosoftのvirtualPCやフリーのXen等は具体的には知りませんが、それぞれ何らかの特定のハードウェアです。それらと同じかどうかをチェックすればいいかと思います。 本物の440BXチップセットを今時使っている人は無視しても良いかと。検索すると2000年に生産終了らしいので。 仮想NICのMACアドレスは少なくともVMwareであれば手動で設定できますので判断には使えません。 そこまでしなくてもUSBポートやプリンタポートにさすハードトークンをエミュレートできる仮想PC環境は今のところ無いと思いますよ。

0-o
質問者

お礼

ありがとうございます。とても参考になります。

noname#43129
noname#43129
回答No.1

MACアドレスが違うはずだから、そこで判断できませんか?。 参考にはならないかも知れませんが、ボットの中には仮想マシン であるかを調べる機能をもったものがいるとのことですので、技術的 には可能のようです。 http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%8B%E3%83%BC%E3%83%9D%E3%83%83%E3%83%88#.E4.BB.AE.E6.83.B3.E3.83.8F.E3.83.8B.E3.83.BC.E3.83.9D.E3.83.83.E3.83.88

0-o
質問者

お礼

ありがとうございます。調べてみます。

関連するQ&A