1

配信前に Java コードの難読化を行います (現在 ProGuard を使用しています)。

難読化されたバイトコードを「逆コンパイル」すると、明らかにすべての文字列が難読化されているわけではありません。これは、例外のメッセージにも当てはまります。これらの例外メッセージは、読者がコードを理解するための多くの情報を提供します。お気に入り:

if(a == null){
  throw new IllegalArgumentException("SuperSecretObject cannot be null");
}

ProGuard または別のツールを使用して、すべての例外メッセージ文字列を削除しながらコンパイルすることは可能ですか?

そうでなければ、機能的に必要のない文字列を非表示にする他の方法をお勧めできますか?

4

1 に答える 1

1

たとえば、使用できます

throw new IllegalArgumentException(SuperSecretObject.class.getName() + " cannot be null");

次に、難読化ツールは、クラス名を難読化された名前に置き換えることもできます。

于 2013-03-25T09:47:23.600 に答える