2012-03-12 10 views
-1

一連の10-30文字/数字をRAW形式でディスクに書き込むプログラムを作成しようとしています(OSが読み込むファイルではありません) 。おそらく私の試みをより明確にするために、もしあなたが16進エディタでディスクを開くと、10-30文字/数字が表示されますが、Windowsエクスプローラのようなファイルマネージャはそれを見ません(データはファイルではないので) 。ファイルシステムを破損させずにディスクにrawデータ "署名"を書き込む

私の目標は、一連の文字でディスクに "署名"し、自分のプログラムでその "署名"を読み書きできるようにすることです。私はNTFSが他のファイルシステムと同じようにNTFSフラグでパーティションに署名していることを理解しており、これらの重要な部分に署名を書き込まないように注意する必要があります。

C++/Cにディスクを低レベルで書き込むのに役立つライブラリがありますか?また、署名を書き始める安全なセクタを知る方法はありますか?これを絞り込むには、NTFS、FAT、FAT32、FAT16、およびexFATファイルシステムに書き込んでWindowsで実行するだけで済みます。すべてのリンクや参照は非常に高く評価されています!

編集:いくつかの調査の後、USBドライブではハッキングトリックを適用せずに1つのパーティションしか使用できないため、ユーザーにとってさらなる問題が生じます。これは残念なことに "パーティションのアイデア"を排除します。

+3

"署名"を上書きしないようにファイルシステムを停止する計画はありますか? –

+0

私の無知を実感しますが、それはそれを気にしませんか?ディスクの「先頭/先頭」に書き込んだ場合、新しいファイルはすべて「下」に追加されます。 – user99545

+2

ファイルシステムは、ディスクで何でもできます。それがあなたが持っている理由です。実際には、ディスクの「トップ/スタート」は通常、ファイルシステムが最もアクティブな場所です - その最も基本的なデータ構造は通常そこに格納されています。 –

答えて

0

これは非常に危険ですが、ゼロフィルプログラムでも同じことが行われるため、C++でハードドライブをゼロで消去する方法をGoogleに知らせることができます。

あなたが知っている場所が見つからないので、使用されません。

1

これは一般的には難しいと思いますが、クラスタを「悪い」とマークし、それを自分の目的に使用するのは明らかです。それと

問題:NTFS不良クラスタが$BadClusのようなものという名前のファイルに保存されている上、それは悪いマーキング

  1. は(非自明であるが、それはユーザーコードにアクセスできないのです(と私はありません
  2. 不良クラスタ/セクタをスキャンする(修復しようとする)さまざまなプログラムがありますが、これは実際には悪いとは考えていないので、それは良いことであると分かり、それを元に戻します。
  3. とにかく、このような(特定のコンピュータへの特定のソフトウェアインストールを結ぶような)ヘイはかなりばかげている。
  4. 「不良」セクタすべてをスキャンして、いずれかの署名が含まれているかどうかを確認する必要があります。
+0

(4)は実際にはメジャーです。本当の悪いセクターを読むことを試みることは頻繁に長い時間がかかるでしょう。ディスクはあきらめる前にかなり再試行します。一方、ディスクは通常、他のI/Oを実行しません。 – MSalters

+0

@MSalters:十分に公正です。編集されました。 –

2

まず、コメンターは、あなたがこれを行うと、それは本当に良いアイデアだかどうかを確認しようとしている理由あなたはを見なければならない、言ったように。ユーザーがコンピュータを使用するために持っている通常のUIを迂回しようとするほとんどのアプリは、さまざまな形で「悪い」ものです。

これは、常にシステム上にあるよく知られたファイルを探して、ディスクのブロックサイズにいくらかの余裕があり、スラックに書き込むことができます。私は、ほとんどのファイルシステムが余計なデータを気にするとは思っていません。ファイルが再配置されるとコピーされることさえあります(ディスク全体でブロック全体をコピーする方が効率的です)。

単なる考えです。どのように実現可能か知りませんが、それはのように思えるかもしれません理論で動作します。

関連する問題