最近、スペースを最小限に抑え、任意のアドレスに命令ポインタを設定しても電卓のOSが気にしないグラフ電卓プログラムのために、compressorを書きました。自己解凍プログラムはどのように機能しますか?
私は基本的なDEFLATEを実装して、圧縮アルゴリズムのためにgoogleを試してみました。これは実行可能なコードでうまくいくかもしれません。
しかしここに私の質問があります:DEPを使用している現代的なOSは、プログラムが抽出されたコードを(少なくとも直接ではなく)実行することを禁じます。すべての "パックされた実行可能ファイル"は、解凍されたデータに制限されているか、解凍されたインタプリタで解凍されたコードを実行するか、その間に何かがありますか?
通常、自己解凍型のアーカイブは、コードをディスクにダンプし、別のプログラムとして実行します。メインプロセスでコードを抽出して実行することは、問題が少ないと言えます。これは、マルウェアやウイルスのようなものです。 – tadman