0

C:\documents などのハードディスクにデータを出力する実行可能プログラムがあります。

Windows 7 のデータがハード ドライブに到達する前に傍受する手段が必要です。次に、データを暗号化してハードディスクに送り返します。残念ながら、.exe ファイルはリダイレクト コマンド (コマンド プロンプトでの > など) をサポートしていません。任意のプログラミング言語 (c、c++、JAVA、php) でそのようなことを達成する方法を知っていますか。

暗号化は、プレーンデータがディスクに送信される前にのみ実行できます。送信後ではありません。

どんなアイデアでも大歓迎です。ありがとう

4

1 に答える 1

0

これは一般的に事実上不可能です。多くのプログラムは、メモリ マップト ファイルを使用してディスクに書き込みます。このようなスキームでは、メモリ範囲がファイル (の一部) にマップされます。このようなスキームでは、ファイルへの書き込みとメモリへの書き込みを区別できません。次のようなステートメントp[OFFSET_OF_FIELD_X] = 17;は、ファイルへの論理的な書き込みです。さらに、OS はメモリとディスクの同期を追跡します。メモリへのすべての論理書き込みがディスクへの物理書き込みに直接変換されるわけではありません。ときどき、OS の気まぐれで、ダーティ メモリ ページがディスクにコピーされます。

のより単純なケースでさえ、そのCreateFile/WriteFile場でデータを傍受する余地はほとんどありません。あなたが達成できる最も近いものは、Microsoft Detours の使用です。私は、それを行う少なくとも 1 つのスネークオイル暗号化プログラム (WxVault、Dell で出荷されるクラップウェア) を知っています。現場でアプリケーションが繰り返しクラッシュしたため、プログラムはその場でデータを傍受しようとする試みにパッチを当てていません。したがって、そのようなハッキングでさえ、干渉を嫌うプログラムに対して堅牢ではありません。

于 2010-09-28T12:18:55.610 に答える