2017-04-10 13 views
0

状況:ハードディスク(特にWindows)を読み込み、16進文字列を互いに比較するPythonプログラムを書いています。バイトレベルでハードディスクを読む

問題:そうすることは可能ですか?私が探している解決策は速くなければならないので、ddは適していません。

私はLinuxシステムでopen('/dev/sdX', 'r')を実行できることを理解しています。 「Win32ベースのアプリケーション」でopen('\\.\PhysicalDriveX', 'r')またはopen('\\.\C:', 'r')を使用することを示唆する別の質問が見つかりました。

質問:上記のコマンドは、通常のWindowsマシン(64ビット)でも動作しますか?

その他の情報:私は、追加の機能を備えたPythonのバリエーションであるePythonを使用しています。

Windowsの10:

+1

'\\。\ PhysicalDrive [N]'はディスクです。 '\\。\ C:'はボリューム(通常は単一パーティション)です。それらを直接読み込むには管理者権限が必要です。バイナリモード、つまり "" rb "'で開く必要があります。 – eryksun

+1

ボリュームをNTFSディレクトリにマウントすることもできます。このようなボリュームをWindows APIから開くには、ボリュームGUID名が必要です。このGUID名は、 'GetVolumeNameForVolumeMountPoint'を介してドライブ文字またはフォルダマウントポイントから取得できます。この機能を使用するには、マウントポイントパスにバックスラッシュが必要です。削除する必要があるバックスラッシュを含むGUIDボリューム名を返します。 – eryksun

答えて

1

別のアプローチは、使用してWindows上でLinuxのサブシステムに組み込まれて使用して、Linuxの方法に固執するだろう

バッシュ・オン・UbuntuのオンのWindows: https://msdn.microsoft.com/en-us/commandline/wsl/about

Winows 7:

ユーティリティおよびMicrosoft Windows 7およびWindows ServerのUNIXベースアプリケーション用サブシステムのSDK 2008 R2 http://www.microsoft.com/en-us/download/details.aspx?id=2391

私はWindows 10 - Home Editionを使用しました.Bash-on-Ubuntu-on-Windowsは魅力的です。

+0

しかし、Bash-on-Ubuntu-on-WindowsはWindows 10のみです。スキャンする必要があるシステムはWindows 7です(古代、私は知っています) –

+0

申し訳ありませんもっと多くの要件を追加しています...前記コンピュータ上に何かをインストールする。私の仕事はプログラムをプラグインするだけで、システムを実行してスキャンします。しかし、私はそれがそのままあなたの投稿を残すことができると思います - それは他人に非常に有益かもしれません。 –

+0

あなたは、Xubuntu(xcfe GUI)またはLubuntu(さらに軽量)を搭載した、ライブインストールUSBの作成を検討しましたか? Windows 7のゲストアカウントよりも柔軟性があります。これは、ドライブ全体が暗号化されていないことを前提としています。 –

関連する問題