Unityで難読化してみたけど、失敗

Unity4で作成したアプリの中で暗号を使用している箇所があったので、
難読化を試してみたけど、失敗した時のTipです。

AssetStoreに有料の難読化ツールはいくつかあるんですが、
できるなら無料で実施したかったので、いくつかツールを試した結果
「Eazfuscator.NET」で難読化した場合に、上手く動作しました。
リンク先:http://www.gapotchenko.com/eazfuscator.net

難読化にかなり苦戦していたので、喜んでいたんですが
1週間ほどしたら、アプリが動作しなくなりました。

ddmsでログを見てみると
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for ---> System.Exception: The assembly Assembly-CSharp.dll has been built with an evaluation version of Eazfuscator.NET, which has expired.

どうも、試用版の場合は試用期間の制限があるようです。(そりゃそうか)
シェア版を利用しましょう。
(個人的には、必要なければ難読化しないのが一番いいと思います。)

以下、難読化の手順です。
■使用ツール
・apktool
・Eazfuscator.NET
・ILSpy

① 「apktool」を使用して、署名済みapkを解凍する 参考記事

② 「ILSpy」で、難読化前のソースを確認
対象ソース: XXX\assets\bin\Data\Managed\Assembly-CSharp.dll

③ 「Eazfuscator.NET」で難読化する
対象ソース: XXX\assets\bin\Data\Managed\Assembly-CSharp.dll

④ 「ILSpy」で難読化されていることを確認

⑤ 「apktool」で、apk再作成→再署名→最適化 参考記事

関連記事
[タグ] ツール

コメント

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。