質問

はありま 公式 うに活用できるかどうかを判断するためには、VMWareの仮想PCなどマイクロソフトが呼び出し)?このコードからは通常のハッキングに優れているのであの奇行動側の効果が特定版のVMWare仮想。

理想的にはDelphiコードがリンクしていただいて構いませんへの正式な説明をして思いきます。

役に立ちましたか?

解決

また昨年この場では、ソースコード。VMware、ワインの検出 こちらの.仮想PC こちらの.すべてのこれらの写鉄-クラッドの検出が明確にした実行計画が定められてコールバックにハイパーバイザー(ワイン、拡張標準のDLL)のようにします。って、潜在的に秘VirtualBox検出器から設置試験)のコメントです。緯もpetで検出可能であることをコールバックもんです。リンクのための書類(貧困層からのセキュリティ研究者を中心に限りがあ こちらの まで設置されています。ものもありまPPT こちらの から一部の情報検出砂Bochsは、Xen.いない多くのコードですが、きらきを検出する。

他のヒント

コードプロジェクトは、<あなたのプログラムが仮想マシン内で実行されている場合は、への道は、検出を示します/ A>それは良い理解を与えるためにそれを達成するためにどのように多くの詳細に行く

私はこれまで最善のアプローチは、ハードウェアプロファイルを確認することだと思います。仮想化されたハードウェアは、通常、企業名の一部を使用しています。あなたはVirtual PCでながら、マザーボードの説明を確認した場合、あなたはそれが「マイクロソフト社」によって作られて気づくでしょう。同様にVMWareのでは、あなたのイーサネットアダプタがでvmnetで始まるされます。

<のhref = "https://social.technet.microsoft.com/Forums/en-US/ffb60194-1e92-421e-ac4a-767daf42fbc5/virtual-machine-detection?forum=windowsdevelopment" のrel = "nofollowをnoreferrerは ">のSysinternalsフォーラムのこのスレッドには、単一のISVM機能を含む(Delphiで、当然の)回答のカップルを持っています。私はXP上でテストしてみたWin2003のは良い結果ではVMWareでXPとVistaの両方にホストされている。

ここに掲載WMIの方法があります: http://blogs.msdn.com/virtual_pc_guy/archive/ 10分の2005/27 / 484479.aspxする

私は二重の仮想PC上で実行されているXP画像で確認してきた、そして彼らがテストしている値は同じです。私はここで何他のVMのリターンを保証するものではありません、しかし...

私は実際に私がのリストを取得し、サードパーティのコンポーネントまたはそのような何かを必要とせずに、WMIを使用してデフォルトのプリンタを変更するには数年前に書いたDelphiのプログラムを持っています。あなたは、DelphiからWMIでの作業に慣れていない場合、あなたはそれはしかし、必ずしもUnicodeの互換性はありません(オフ動作するように何かを持っているので、私はあなたにコピーを送信することができますが、それはあまりにもハード、私はそれをアップグレードするためにすべきではありません)必要であれば。

私は、Delphiに翻訳 RedPill の方法(しかし、コードISN」を使用しましたかなりよく働いたハードを理解することトン)。私はまた、WMIを使用していくつかの余分なチェックがネットワークアダプタのベンダ名と著作権のようなものを取得するために呼び出しますが、それは、Virtual PCの特定のバージョンを検出するためだった含まれています。

RedPill方法の私の理解では、それが動作し、それがどのように動作するかの性質に基づいて、すべての仮想マシンを検出しなければならないことです。 Windows 7のWindowsの機能の中に新しいWindowsがシームレスにWindows 7の内のWindows XPのコピーで選択したプログラムを実行するように構成することができるよう偽陽性も生成される可能性がありますことをpossiblityがあります。

私はすべてのメーカーは、ブロックを与えられ、最初の3部がそれらに固有のものされているとしてだけでMACアドレスを見ていると幸運を持っていました。

//look at the MAC address and determine if it's a Virtual Machine
$temp = preg_split("/\s+/",exec("/sbin/ifconfig -a eth0 2>&1 | /bin/grep HWaddr"), -1, PREG_SPLIT_NO_EMPTY);
//Virtual Box MACs all start with '08:00:27:xx:xx:xx'
if (strpos($temp[4], '08:00:27') !== false) $_SESSION['DEVELOPMENT'] = true;  

マシンを決定するために物理的であるか、またはVM

dmidecode | egrep -i 'manufacturer|product'

dmidecodeのコマンドは、それぞれのRPMをインストール見つからない場合ます。

このはEXSI、VMWAREとHyperVのマシンでテストされます。

あなたは、一般的に仮想化のいずれかのタイプの存在を検出したい場合は、

、あなたは最高のパフォーマンス特性を分析しています。通常のCPUバウンドのユーザ空間のアプリケーションに対してそれを(例えばフォーク爆弾のようなMMU重いワークロードとして)仮想化で大幅に遅くなる何かを取ると時間。比から簡単に伝えることができます。

あなたが唯一の特定のVMMを心配している場合の労力の面で最も簡単には、彼らのハードウェア、すなわち、VMwareのPCIデバイスを探すことです。

00:07.3ブリッジ:インテルコーポレーション82371AB / EB / MB PIIX4 ACPI(08 REV)     サブシステム:VMwareの仮想マシン株式会社チップセット

15ad:1976

ベンダーの値が '15ad'

また、様々なバージョンでは、さまざまなVMMの間で動作し、特定のバックドアのポートがあります。 SIDTトリックはあまりにも良いですが、VMMは、彼のコードをチェックしているリストにない場合は何?

dmidecode -s system-product-name

のVirtualBox上でテストされ、その結果ます:

Virtualbox
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top