tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルファイルの完全削除
記事No13991
投稿日: 2009/08/31(Mon) 09:38
投稿者Nil
ファイルが復元できないように完全削除をしたいと思っています。
実際にデータが保存されている場所に
なんらかのデータを書き込んでしまえばいいと思うのですが
実際にプログラムにする場合、どうすれば良いのかわかりません。
調べてはみたのですが、方法が書かれているところがないため書き込ませていただきました

APIの知識はあります。
よかったらご指導お願い致します。

[ツリー表示へ]
タイトルRe: ファイルの完全削除
記事No13993
投稿日: 2009/08/31(Mon) 11:19
投稿者ダンボ
> 実際にデータが保存されている場所に
> なんらかのデータを書き込んでしまえばいいと思うのですが
> 実際にプログラムにする場合、どうすれば良いのかわかりません。

んなものフリーソフトでいっぱい転がっているのだからわざわざ作る必要も
無いと思いますが、プログラミングの練習なら。

1.ハードディスク全体を完全消去したい場合
 (1)ドライブの空き容量を調べる
 (2)空き容量目いっぱいのファイルを新規作成する(Open)
 (3)「特定パターン」のデータを書き込む
 (4)ファイルを保存する(Close)
 (5)そのファイルを削除する

以下、「特定パターン」を何通りか変えて(2)〜(5)を繰り返す。
どんな「パターン」が良いかは結構Webで目にします。
・h00000000
・hFFFFFFFF
・hAAAAAAAA
は当然やるとして、あとはランダム値を生成して使用するとか。

2.特定のファイルだけを完全消去したい場合
 (1)ファイルを更新モードで開く(Open)
 (2)「特定パターン」のデータを書き込む
 (3)ファイルを保存する(Close)
以下、「特定パターン」を何通りか変えて(1)〜(3)を繰り返す。
 (4)そのファイルを削除する

[ツリー表示へ]
タイトルRe^2: ファイルの完全削除
記事No13994
投稿日: 2009/08/31(Mon) 11:35
投稿者Nil
ダンボさんお返事ありがとうございます。

理由は勉強のためと、作ってみたかったからです。
一度作ってみますね。

あと今存在している指定ファイルをこれから完全削除しようとする場合、
たぶん削除対象のファイルの場所を特定して、
「特定パターン」のデータで塗りつぶしてると思います。
これなら処理時間もあまりかからないかなと思っています。
ファイルの場所を特定するような方法がありましたら、教えていただけませんでしょうか?

[ツリー表示へ]
タイトルRe^3: ファイルの完全削除
記事No13995
投稿日: 2009/08/31(Mon) 13:34
投稿者ダンボ
> ファイルの場所を特定するような方法がありましたら、教えていただけませんでしょうか?

「更新モード」でファイルを開けば、同じセクタを読み書きするかということを
小一時間Web検索してみましたがYesともNoともわかりませんでした。

ファイルの保全性から考えて別セクターに書き出すのではないか?

そうだとしたら生半可なコード量と知識では無理です。
FATにせよNTFSにせよファイル管理を追いかけて管理領域からデータ領域
の使用セクタを調べ上げて、アクセス権変えて、NTFSならジャーナルも。

[ツリー表示へ]
タイトルRe^4: ファイルの完全削除
記事No13998
投稿日: 2009/08/31(Mon) 21:56
投稿者Nil
更新モードで更新を確定してから削除したらもう価値のないものになりそうですね
これも一度やってみますね。
後半のものは私の今の知識ではまだ到達できないですね。
素敵なご回答ありがとうございます!

他にも何かご存知の方がいたらお返事いただければと思います

[ツリー表示へ]