- ベストアンサー
消去したデータを復活させるコードはどう書けば良いのでしょうか?
消去したデータを復活させるソフトがありますが、 一体どんなコードを書けば実現できるのですか? また、参考になる本などはあるのでしょうか? 具体的なコードが分からなくても、こんな感じという回答でも 良いので参考に教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
直接読むって言うことで、簡単に MSDN 辺りを見てみたところ、DeviceIoControl() ってのが目に付きました。但し、これは UNIX 等で言うところ ioctl(2) の Win32API 版みたいなものなので、DISK 限定の API では無いと思います。 DISK 限定ということで、もう少し高レベルな API がありそうな気もしますが、見つかりませんでした。 後、DOS の時代から言うのなら、INT 25H (だったかな??) って言うのもありましたが、今の Windows でサポートされているかは不明です。 ## もっと頑張るのなら、IDE コントローラを直接操作ってのもありますが、ここでは止めておきます^^)
その他の回答 (4)
- furyfox
- ベストアンサー率56% (58/103)
Windowsなら 「DeviceIoControl セクタ」で調べれば色々でてくると思います。 http://support.microsoft.com/default.aspx?scid=kb;ja;100027 ただ下手に書き込みに失敗するとOSの起動すら出来なくなる可能性があるので 自己責任でお願いします。 まずファイルシステムから学習する必要があると思います。 「FAT/NTFSについて」 http://www.ontrack-japan.com/ontrack_now/20050215_mamechisiki.html 「データ復元の手順」 http://www.eclinic.ne.jp/recover/howto_3.html
お礼
回答ありがとうございます。
- 12m24
- ベストアンサー率23% (193/817)
大まかな内容としては、ディスクに残っているファイルの残骸を調べます。 たとえば、Windowsのごみ箱からファイルを削除したとしても、それはファイルへアクセスするためにハードディスクに記入された住所の部分を消しているだけで、データ本体は何らいじっていません。通常であれば、ここを次から書き込みできるようになるため、完全な復旧は困難ですが、運良くデータ本体が書き込みされていなければ、ハードディスクを直接読み出しに行けばデータを復旧できることになります。 これがファイナルデータとかその手のソフトが行っている大体の手順です。 逆に、ファイルのない領域を「0000 0000 0000 0000 0000 0000 ・・・」と書き込むだけでデータの復旧は事実上不可能になります。データ消去ソフトは空き領域を書き込むものがほとんどだと思います。 ちなみに、ハードディスク破壊サービスというものがあります。ネットで調べてみればわかると思いますが、ハードディスクを物理的に破壊してくれます。(まあ、個人で使うものだったら自分で壊すのも一手ですが)
お礼
回答ありがとうございます。 >ハードディスクを直接読み出しに行けばデータを復旧できることになります。 すみません、直接読みに行くにはどういうコードを書けば良いのか、 これが質問の趣旨です。 お分かりなら教えていただきたいのですが。
- silverbear
- ベストアンサー率25% (163/639)
>具体的なコードが分からなくても、こんな感じという回答でも良いので ということで。 おそらくポインタとか使ってアドレスを直接指定してアドレス0からアドレス0xffffffffまで等、片っ端から書かれているデータを読み出しているんじゃないかな?と思います。 一応、読み出したデータにファイル名があれば何らかのファイルであった可能性が高いわけですし、拡張子も分かると思います。 ただし、逆にいろいろなアドレスを直接参照してるわけですから、デバック中の誤動作でいろいろなファイルを壊すプログラムになるかもしれません。
お礼
回答ありがとうございます。 >アドレスを直接指定して・・・ どういうコードを書けば実現できるのでしょうか?
- ujikinsan
- ベストアンサー率45% (77/170)
削除したデータは一旦ゴミ箱に移りますのでゴミ箱を確認してみてください。 ゴミ箱からも誤って削除しちゃった場合は保存してあったドライブに何も書き込まないうちにこのソフトを使ったらかなりの確率で復活できると思います。 データはゴミ箱から削除してもドライブにはデータが残っています。 しかしなるべく早く復活させないと今残っているデータの上に上書きされたら復活出来なくなります ですので早めに処置を行った方がよいと思いますよ。 僕もこのソフトで助けられたことありました
お礼
回答ありがとうございます。 こういうソフトはどういうコードが書かれているのでしょうね?
お礼
回答ありがとうございます。