3

私のグーグル検索は私をここに導きました:仮想ファイルを作成する方法は? その記事では、作成者が一時ディレクトリにファイルを抽出し、そこから作業することを提案しました。

実際、私がやりたいことは、作成者が最初に求めていたことに似たものです。「仮想」ファイルを作成し、それに「パス」を割り当てて、標準の Windows ファイルシステム API を呼び出す他のアプリケーションが理解できるようにします。これは、複製や無断使用を防止するためのものです。

私がやりたいことのコンセプト:

私たちの会社では、プログラムを開発しましたが、それは標準の EXE アプリケーションではなく、内部形式 (「アプリケーション」形式の拡張子が .MDL であると仮定します) を持ち、ランタイム環境によって実行されるため、ランタイムをインストールする必要がありますクライアント マシン。この概念は Java に似ています (ただし、これは Java ではありません。理解を深めるために比較するだけです)。ここでやりたいことは、この .MDL ファイルを暗号化し、通常の .exe ファイルにリソースとして含めることです。この .exe ファイルは、実行しても問題ないかどうかを確認し (ライセンス条件、キー、認証などを確認します)、認証された場合は、.MDL ファイルを復号化して抽出し、ランタイムを実行して、.MDL の仮想パスを渡します。ファイルをランタイムへの引数として渡します。明らかな理由から、復号化された .mdl ファイルをディスクのどこかに書き込みたくありません。

それで、これを行う方法はありますか?PS: 私は EA Games のゲームから着想を得ました... それらを実行してプロセス テーブルを調べると、通常のゲームの exe が表示され、一定時間後に ~A003 のような名前の新しいプロセスが生成されます。 tmp

4

2 に答える 2

4

boxedapp パッカーを使用する必要があります。それは助けなければなりません。

于 2011-12-23T18:21:19.740 に答える
1

ある種のドライバーコンポーネントを使用せずに、仮想ファイルをパスに関連付ける方法を知りません。それは大変な作業です。

ランタイムに復号化を行わせないのはなぜですか?そうすれば、ディスク上のファイルの復号化について心配する必要はありません。または、アイテムを復号化し、コマンドラインパラメーターとしてハンドル値をランタイムに渡すための名前のない継承可能なセクションオブジェクトを作成することもできます。

あなたが何をするにしても、人々はそれを迂回することができるので、それは私には時間の無駄のように思えます。これまでに作成されたすべてのEAゲームはクラックされています。人々はあなたの製品が有用でお金の価値があると思うか、そうでないかのどちらかです。非常に単純な登録キーチェックよりも複雑なスキームを実装することは、時間や労力の価値がないと思います(何かをしたように見せるためだけです)。

于 2010-01-29T01:16:15.340 に答える