質問

XNA 4とモノガメを使用してアプリケーションを開発しています。さらに、Easfuscatorを使用してC#ソースコードを難読化します。それは可能であり、コンテンツフォルダーのファイル名を非人間の読み取り可能にするための最良の方法は何ですか?

基本的に、「title_image.xnb」のようなファイル名は、「hdrv4eedx.xnb」(例として)のようなものに自動的に変更する必要があります。コンテンツの暗号化は必ずしも必要ではありません。

役に立ちましたか?

解決

私が知っているこれを行うための組み込みの方法はありません。

すべてのコンテンツファイルを再帰的に実行するPowerShellスクリプトを作成し、正規表現を使用して適切なコンテンツを見つけ、コードに関数をロードし、ランダムに生成されたハッシュに置き換えます。その後、難読化の一部としてこのスクリプトを実行します。

Content.load <>をすべて1つのファイルにload.loadに持っている場合、おそらく簡単に書き込むこともできます。その後、擬似コードは次のようなものになります。

For All Files in Content directory (and subdirectories, recursively):
  String hash = CreateRandomHash()
  File.renameTo(hash)
  "LoadContent.cs" = "LoadContent.cs".replace("Content.Load<Texture2D>(" + File.original.Name + ")", "Content.Load<Texture2D>(" + hash + ")");

しかし、あなたは知っています、「Pseudocode」。 :)。いくつかの作業が必要です。

他のヒント

これらの名前を含むすべてのリソースをコンテンツマネージャーに追加してみませんか?コードから、これは title_image エンドユーザーがフォルダーを開いた場合、エンドユーザーから読み取り可能ではありません。

title_image = Content.Load<Texture2D>("hdRv4EEdx");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top