1

プロジェクト内の他のものを保護するためのメイン SWF として「シェル」SWF があります。

シェル swf の手順は次のとおりです。

  1. ステージ プロパティをチェックして、子としてロードできないようにします。
  2. Capabilities.isDebugger をチェックして、デバッガーで実行できないようにします。
  3. デコーダ ライブラリをロードします。デコーダ lib は flascc によってビルドされているため、逆コンパイルが非常に困難です。
  4. デコーダーを使用して自己を検証します。失敗またはスキップされた場合、デコーダーはデコード ジョブを実行しません。
  5. エンコードされたプロジェクトのメイン エントリを読み込み、デコードしてステージに追加します。

問題はステップ 4 です。Shell swf のバイナリ チェックサムを実行したいのです。

質問は次のとおりです。

  1. 起動時にシェル swf ファイルの元のバイナリ コンテンツを取得するにはどうすればよいですか?
  2. そうでない場合、Shell swf の LoaderInfo.bytes はさまざまなバージョンの Flash Player で一貫していますか?
  3. そうでない場合、ステップ 4 で検証ジョブを実行する良い方法はありますか?
4

1 に答える 1

0

AIR アプリを作成する場合、標準の URLLoader または File および FileStream を使用して、元のファイル (「Shell.swf」) をアプリケーション バンドルに一時的にロードできます。アプリがブラウザで動作する場合は、loaderInfo から自己ファイル名と URL を取得し、URLLoader を使用してロードできます。とにかく、検証プロセスが完了したら、アンロードする必要があります。

于 2013-07-07T21:56:41.263 に答える