2017年3月25日土曜日

難読化について

こんばんは。


JAVAの実行ファイルは、解読が容易です。

難読化することによって、解読が難しくなります。

変数名や関数名が、「a」とか「b」という簡単な名前に変わります。

難しくなるだけであって、解読できないわけではありません

しかし、バレバレの状態よりも読みにくい状態にしておいて、損はないと思います。

また、変数名が短縮されるわけですから、容量が節約できます。

詳しくは、こちらを参照ください。



難読化の手順を簡単に記しておきます。


1.build.gradleを変更。



上記のようにminifyEnabledをtrueに変更し、proguardFileのパスを設定します。

私の場合は、「C:/Users/[UserName]/AppData/Local/Android/sdk/tools/proguard/proguard-android.txt」でした。


2.ビルドしてみて、エラーや警告に対応。


まず、sun.misc.Unsafeの警告が大量にでました。

以下のように、proguard-rules.proに追記します。



3.動かしてみて、エラーに対応。


releaseしか難読化できませんので、release版を実機などにインストールして、動かしてみます。

gsonのエラー、driveのエラー、zbarのエラー、adsのエラーに対応しました。

最終的に、以下のようになりました。



4.リリース後に、マッピングファイルもアップロードしておきます。


これについては、前述のこちらを参照ください。


以上です。

0 件のコメント:

コメントを投稿