1

[以下は、あいまいであると見なされた私の以前の質問の言い換えです]。

デモ アプリケーション用の基本的なライセンス メカニズムの作成に取り組んでいます。私が念頭に置いていることは次のようになります。アプリケーションは、最初の実行時に「0b1xa487x.ini」などの空の「ライセンス ファイル」を作成し、最初に実行してから 30 日後に期限切れになり、それ以上実行することはできません。その特定のファイルがシステムに存在するためです。

私が探しているのは、削除を阻止する方法でその特定のファイルを保護する方法です。内容のない空のファイルになるため、破損していても、ヘッダーが破損していても、日付が無効であっても、削除できないようにするために必要なものは何でもかまいません。

ファイル属性に基づいた同様のアプローチをどこかで見たことがあります (ファイルには HX 属性が設定されていました)。ただし、ファイル属性Xの存在に関する文書化された機能が見つからないため、属性アプローチはどこにもつながりません。

また、システム ユーザーとして起動されるルートキット ドライバーやシステム サービスなど、他のアプローチがあることも知っていますが、この特定のアプローチがこのシナリオに最も適しているようです。繰り返しますが、ファイルの内容にアクセスできない可能性があることを概説します。以下で非難されているように、ファイルからあらゆる種類のマルウェアを実行するためにこのアプローチを使用するつもりはありません:)

4

3 に答える 3

5

腐敗は、何らかの基準に準拠していないことを示唆しています。空のファイルに基準はありません。

于 2011-04-27T18:13:51.640 に答える
3

皆さんの提案に感謝します。私は自分のファイルにアクセスできないようにする方法を見つけました。つまり、ファイル許可の幸運な組み合わせを使用することです。欠点は、これらが非 NTFS パーティションでは機能しないことです。良いことは、これらのアクセス許可をプログラムで削除し、後ですべてを削除するだけで、アプリケーションの後でいつでもクリーンアップできることです。

于 2011-04-28T06:20:47.313 に答える
2

Henk への最後の回答については、サービスを作成し、OS で自動的に開始し、TFileStream を使用して fmShareExclusive でファイルを開く方が簡単だと思います。

ただし、OS のカーネルやアンチウイルスに強制的にファイルを「削除不可」にすることはできません。

よろしく、
ラドゥ

于 2011-04-27T19:25:32.917 に答える