0

この質問への回答(Javaの別の行で指定されたURLはコンパイル時エラーを発行しません。なぜですか?)は、コンパイルエラーなしでコードにコードラベルを追加できると述べています。

さらに、http://を使用すると、コードラベル、およびコメントと見なされるため、機能します。

だから私は考えていました...

読みにくくするために、proguardを使用してコードにランダムなコードラベル(URLを含む)を いくつか追加できますか?

もちろん、手作業で追加することもできますが、元のコードを汚染し、コンパイルされたコードをリリースするだけで欲しいので、それは良い解決策になります。

私はAndroidアプリでこれをやりたかったので、proguard(Android難読化用のすぐに使えるソリューション)に焦点を当てています。

4

2 に答える 2

1

ビルド中にバイトコードのカスタム変更を作成できるAspectJを確認できます。しかし、私はそれをしません。JavaデコンパイラがURLを表示するかどうかを確認しましたか?クリアテキストができるだけ少なくなるように、難読化を最適化することをお勧めします。

于 2013-01-07T17:26:46.247 に答える
0

いいえ、そのようなラベルはコンパイルされたコードにはまったく影響しません。

ラベル(「http:」または「somelabel:」)は、デバッグ情報としても、コンパイルされたコードに表示されません。breakこれは、ステートメントと組み合わせた場合にのみ役立ちます。

コメント(「//www.example.com/path」または「// somecomment」)はどちらにもコンパイルされません。ソースコードを明確にすることだけが役に立ちます。

Javaバイトコードはラベルやコメントを表していないため、ProGuardはそれらを追加することもできません。ProGuardは不要なgotoステートメントも追加しません

于 2013-01-08T13:00:12.117 に答える