プロジェクトを難読化しますが、リモート デバッグとホットスワップの機能を失いたくありません。
出来ますか?これを処理できるツールはどれですか? クラス/メソッド/変数の名前を変更するだけの単純な難読化に満足しています。
[編集済み] Intellij IDEA を使用していますが、このタスク用のプラグインが見つかりませんでした。
プロジェクトを難読化しますが、リモート デバッグとホットスワップの機能を失いたくありません。
出来ますか?これを処理できるツールはどれですか? クラス/メソッド/変数の名前を変更するだけの単純な難読化に満足しています。
[編集済み] Intellij IDEA を使用していますが、このタスク用のプラグインが見つかりませんでした。
同じ種類のニーズ (単純な難読化、後でデバッグする必要がある) があり、ProGuardを使用します。Ant タスクに統合できる Java アプリです。
多くのことができますが、完全に調整することもできます。そのため、難読化をシンプルに保つことができます。オプションの 1 つは、「シンボル対応表」を生成することです。これにより、難読化されたコードから難読化されていないコードを取得できます。(クラス qksdnqd の変数 xyz が、実際にはクラス MeaningfulClassName の myCuteVarName であることを追跡します)
編集:難読化は難しい場合があります。いくつかの例:
Edit2:次も見ることができます:
SDJavaObfuscatorを参照してください。コメントと空白を取り除き、公開されていないすべてのメンバー/メソッド/クラス名の名前を変更します。
また、コードがどのように難読化されたかのマップも提供します。たとえば、XYZとして難読化された各シンボルFOOについて、マップFOO->XYZです。これは、XYZに言及するバックトレースを取得した場合、元のシンボルFOOを簡単に判別できることを意味します。もちろん、あなた(難読化をしている人)だけがこのマップを持っているので、あなただけがこれを行うことができます。