11

Javaの難読化されたコードを難読化解除するツールはありますか?

コードはコンパイルされたクラスから抽出されますが、難読化されて読み取れません。

4

6 に答える 6

14

最初のステップは、どのツールで難読化されたかを知ることです。おそらく、特定の難読化ツール用の「難読化解除ツール」がすでに存在している可能性があります。

一方、IDE を実行して、そのリファクタリング機能を使用することもできます。クラス、メソッド、および変数の名前を機密性の高い名前に変更します。人間の論理的思考力を使って、コードが実際に何を表しているかを理解し、慎重に名前を付けます。そして、絵はゆっくりと、しかし確実に成長するでしょう。

幸運を。

于 2009-11-02T18:10:24.443 に答える
9

スマートな逆コンパイラの一種であるJava Deobfuscator (別名 JDO)を使用して、コードを目立たなくしようとしましたか?

現在、JDO は次のことを行います。

  • 難読化されたメソッド、変数、定数、およびクラス名の名前を一意に変更し、それらの型をより明確に示すようにします
  • ソース ツリー全体に変更を反映します (ベータ版)
  • 使いやすいGUIを備えています
  • フィールド、メソッド、クラスの名前を指定できます (新機能!)

現在、JDO は次のことを行っていません (ただし、いつかはそうなるかもしれません)

  • メソッドのバイトコードを何らかの方法で変更する
于 2009-11-02T18:44:04.967 に答える
6

墓掘りではありませんが、私はほとんどの商用難読化ツールで動作するツールを作成しました

https://github.com/Contra/JMD

于 2011-01-28T19:04:01.657 に答える
5

Java Deobfuscator (別名 JDO)を使用しましたが、いくつかのバグがあります。大文字と小文字を区別するファイル名では機能しません。ソースを変更し、そのためのパッチを sourceforge にアップロードしました。 パッチダウンロード

于 2009-11-03T17:07:30.637 に答える
1

Unix/Linux/MacOS で動作するのでしょうか?

その場合、長すぎる名前の名前を変更する前に、コードを展開する VM にプロセスの 1 つのステップを移動できます。Windows でのファイル名の制限はどのくらいですか?

于 2012-06-24T08:08:22.860 に答える
1

おそらくそれを理解するのは人間の精神力だけです。利用可能な最高の逆コンパイラを入手し、その出力について熟考してください。

于 2009-11-02T19:09:34.753 に答える