C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 指定ファイルを開けないようにするには


(過去ログ 63 を表示中)

[トピック内 13 記事 (1 - 13 表示)]  << 0 >>

■36623 / inTopicNo.1)  指定ファイルを開けないようにするには
  
□投稿者/ hs (46回)-(2009/06/02(Tue) 18:09:57)

分類:[VB.NET/VB2005 以降] 

VS2008 VB です。

場違いの質問かもしれませんが目を通していただけると幸いです。

ある.txtファイルをVBのコード上で作成し、仮に 「TEST.txt」という名前で保存します。

それを開けるのは開発中のアプリケーションを介さないと見れない仕組みを作りたいのですが、
単純に拡張子の「.txt」をリネームし、適当に「.aaa」とすれば問題ないと考えていました。
しかしこれを開く時、インストールされているプログラムから容易に開くことができました。

「TEST.txt」を開くことができないようにすることは可能でしょうか?
どなたかご教授よろしくお願いします。

引用返信 編集キー/
■36624 / inTopicNo.2)  Re[1]: 指定ファイルを開けないようにするには
□投稿者/ .SHO (838回)-(2009/06/02(Tue) 18:12:00)
> 「TEST.txt」を開くことができないようにすることは可能でしょうか?

ある.txtファイルをVBのコード上で作成する時に暗号化するとか。。。
引用返信 編集キー/
■36625 / inTopicNo.3)  Re[2]: 指定ファイルを開けないようにするには
□投稿者/ hs (47回)-(2009/06/02(Tue) 18:29:09)
追加です。

現状、質問内容記載の「TEST.txt」は暗号化されており、開くときに複合化している状態です。
しかし「TEST.txt」のサイズが450MBだと、複合化するのに1分ほどかかってしまいます。

ファイルを暗号化するということはファイルデータのデータを書き換えて(暗号化)ているという認識で行っているのですが、
単純に、「.aaa」とリネームしなくてもファイルを開けなくする方法はありますでしょうか?


引用返信 編集キー/
■36626 / inTopicNo.4)  Re[1]: 指定ファイルを開けないようにするには
□投稿者/ 魔界の仮面弁士 (1116回)-(2009/06/02(Tue) 18:32:34)
2009/06/02(Tue) 18:33:34 編集(投稿者)

No36623 (hs さん) に返信
> 「TEST.txt」を開くことができないようにすることは可能でしょうか?

とりあえず、思いつく範囲で。

(案1) アプリ起動時に、TEST.txt を排他ロックで開いておく。
(案2) アプリ用アカウントからは読み書き可能、他のアカウントには読み取り不可の NTFS 権限を付与する。
(案3) エクスプローラで見えないよう、NTFS 代替データストリームに保存する。
引用返信 編集キー/
■36627 / inTopicNo.5)  Re[3]: 指定ファイルを開けないようにするには
□投稿者/ .SHO (839回)-(2009/06/02(Tue) 18:43:20)
No36625 (hs さん) に返信
> 追加です。
>
> 現状、質問内容記載の「TEST.txt」は暗号化されており、開くときに複合化している状態です。
> しかし「TEST.txt」のサイズが450MBだと、複合化するのに1分ほどかかってしまいます。
>
> ファイルを暗号化するということはファイルデータのデータを書き換えて(暗号化)ているという認識で行っているのですが、
> 単純に、「.aaa」とリネームしなくてもファイルを開けなくする方法はありますでしょうか?

「.aaa」にリネームしても、アプリで開けちゃうって言ってるんですか?
引用返信 編集キー/
■36628 / inTopicNo.6)  Re[4]: 指定ファイルを開けないようにするには
□投稿者/ hs (48回)-(2009/06/02(Tue) 19:07:03)
No36627 (.SHO さん) に返信

> 「.aaa」にリネームしても、アプリで開けちゃうって言ってるんですか?

説明不足でした;

「TEST.aaa」を手動で開けるということです。
もちろんアプリでは「TEST.aaa」を再度「TEST.txt」とリネームし読み込んでいます。
引用返信 編集キー/
■36629 / inTopicNo.7)  Re[5]: 指定ファイルを開けないようにするには
□投稿者/ .SHO (840回)-(2009/06/02(Tue) 19:12:30)
> 「TEST.aaa」を手動で開けるということです。

暗号化されてるんですよね?
中身が読めるとかは関係なく、とにかく開けるってことですか?

引用返信 編集キー/
■36631 / inTopicNo.8)  Re[6]: 指定ファイルを開けないようにするには
□投稿者/ hs (50回)-(2009/06/02(Tue) 19:22:57)
No36629 (.SHO さん) に返信
>>「TEST.aaa」を手動で開けるということです。
>
> 暗号化されてるんですよね?
> 中身が読めるとかは関係なく、とにかく開けるってことですか?

現状は、複合化しています。しかし複合化する際に、1程度と時間がかかりすぎている状態なので、
暗号化せずに、「TEST.txt」をアプリを介さないと見れない仕組みを実現させていです。
引用返信 編集キー/
■36632 / inTopicNo.9)  Re[7]: 指定ファイルを開けないようにするには
□投稿者/ hs (51回)-(2009/06/02(Tue) 19:24:52)
訂正です。

No36631 (hs さん) に返信
> ■No36629 (.SHO さん) に返信
> >>「TEST.aaa」を手動で開けるということです。
>>
>>暗号化されてるんですよね?
>>中身が読めるとかは関係なく、とにかく開けるってことですか?

    暗号化
     ↓
現状は、複合化しています。しかし複合化する際に、1程度と時間がかかりすぎている状態なので、
暗号化せずに、「TEST.txt」をアプリを介さないと見れない仕組みを実現させていです。
引用返信 編集キー/
■36633 / inTopicNo.10)  Re[8]: 指定ファイルを開けないようにするには
□投稿者/ .SHO (841回)-(2009/06/02(Tue) 19:29:47)
>     暗号化
>      ↓
> 現状は、複合化しています。しかし複合化する際に、1程度と時間がかかりすぎている状態なので、
> 暗号化せずに、「TEST.txt」をアプリを介さないと見れない仕組みを実現させていです。

どの程度の強度を求めているのかわからないですが
もっと単純な(速い)暗号化を実施してはどうですか?
引用返信 編集キー/
■36638 / inTopicNo.11)  Re[2]: 指定ファイルを開けないようにするには
□投稿者/ biac (120回)-(2009/06/02(Tue) 20:53:40)
biac さんの Web サイト
> (案3) エクスプローラで見えないよう、NTFS 代替データストリームに保存する。

一票++

普通の人は、 代替データストリームの覗き方なんて知らないでしょうから。 ( "Vista 以降は dir /r で" …って言ったって、 まず意味不明でしょう f(^^; )

ただし、 .NET Framework がサポートしてくれてませんので、 自前で読み書きを実装することになります。
http://www.codeproject.com/KB/cs/ntfsstreams.aspx


# HDD 上に、 特定のプログラムからしか読み書きできないエリアなんてものを作れるなら… ウィルス作者が飛びつきますよw
引用返信 編集キー/
■36643 / inTopicNo.12)  Re[3]: 指定ファイルを開けないようにするには
□投稿者/ 魔界の仮面弁士 (1117回)-(2009/06/02(Tue) 21:53:31)
2009/06/02(Tue) 22:12:52 編集(投稿者)

No36638 (biac さん) に返信
>>(案3) エクスプローラで見えないよう、NTFS 代替データストリームに保存する。
> ただし、 .NET Framework がサポートしてくれてませんので、 自前で読み書きを実装することになります。
> http://www.codeproject.com/KB/cs/ntfsstreams.aspx

COM でよければ、FileSystemObject で読み書きできます。
扱えるデータはテキストデータに限定されますけれどね。


あるいは、そのデータを JET の mdb ファイルに入れておき、
データベースパスワードをかけるというのはどうでしょうか。64bit アプリだと NG ですが。
(SQL Server Compact Edition という手もありますが、NETCF になってしまう…)


完全な隠蔽でなくともよければ、データの先頭に BITMAP ヘッダを付けておき、
画像ファイルに見せかけてしまうとか。容量が問題になる場合は、PNG 画像に。
(450MB だと、分割管理しないと厳しいかも知れませんが)


> しかし「TEST.txt」のサイズが450MBだと、複合化するのに1分ほどかかってしまいます。
アプリの仕様にもよりますが、450MB すべてを一度に取り扱う必要が無いのであれば、
全体を暗号化するのではなく、一部のみを復号できるように、適当なブロックに分けておくとか。
引用返信 編集キー/
■36651 / inTopicNo.13)  Re[4]: 指定ファイルを開けないようにするには
□投稿者/ .SHO (842回)-(2009/06/03(Wed) 09:36:03)
ようは読めなければいいので、素直にそのままテキストで保存せず
アプリだけが知っている(軽い)ルールで中身を変換して保存すれ
ばいいってことですね。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -