5

プロジェクトを難読化しますが、リモート デバッグとホットスワップの機能を失いたくありません。

出来ますか?これを処理できるツールはどれですか? クラス/メソッド/変数の名前を変更するだけの単純な難読化に満足しています。

[編集済み] Intellij IDEA を使用していますが、このタスク用のプラグインが見つかりませんでした。

4

2 に答える 2

5

同じ種類のニーズ (単純な難読化、後でデバッグする必要がある) があり、ProGuardを使用します。Ant タスクに統合できる Java アプリです。

多くのことができますが、完全に調整することもできます。そのため、難読化をシンプルに保つことができます。オプションの 1 つは、「シンボル対応表」を生成することです。これにより、難読化されたコードから難読化されていないコードを取得できます。(クラス qksdnqd の変数 xyz が、実際にはクラス MeaningfulClassName の myCuteVarName であることを追跡します)

編集:難読化は難しい場合があります。いくつかの例:

  • メイン メソッドの名前は変更できません。
  • クラスローダを使用していますか? 難読化後もクラスを取得できますか?
  • ORM マッピングはどうですか? あなたの春のコンテキストは?(もしあれば)

Edit2:次も見ることができます:

于 2009-09-03T07:50:31.013 に答える
0

SDJavaObfuscatorを参照してください。コメントと空白を取り除き、公開されていないすべてのメンバー/メソッド/クラス名の名前を変更します。

また、コードがどのように難読化されたかのマップも提供します。たとえば、XYZとして難読化された各シンボルFOOについて、マップFOO->XYZです。これは、XYZに言及するバックトレースを取得した場合、元のシンボルFOOを簡単に判別できることを意味します。もちろん、あなた(難読化をしている人)だけがこのマップを持っているので、あなただけがこれを行うことができます。

于 2009-10-03T05:01:43.253 に答える