Javaの難読化されたコードを難読化解除するツールはありますか?
コードはコンパイルされたクラスから抽出されますが、難読化されて読み取れません。
Javaの難読化されたコードを難読化解除するツールはありますか?
コードはコンパイルされたクラスから抽出されますが、難読化されて読み取れません。
最初のステップは、どのツールで難読化されたかを知ることです。おそらく、特定の難読化ツール用の「難読化解除ツール」がすでに存在している可能性があります。
一方、IDE を実行して、そのリファクタリング機能を使用することもできます。クラス、メソッド、および変数の名前を機密性の高い名前に変更します。人間の論理的思考力を使って、コードが実際に何を表しているかを理解し、慎重に名前を付けます。そして、絵はゆっくりと、しかし確実に成長するでしょう。
幸運を。
スマートな逆コンパイラの一種であるJava Deobfuscator (別名 JDO)を使用して、コードを目立たなくしようとしましたか?
現在、JDO は次のことを行います。
- 難読化されたメソッド、変数、定数、およびクラス名の名前を一意に変更し、それらの型をより明確に示すようにします
- ソース ツリー全体に変更を反映します (ベータ版)
- 使いやすいGUIを備えています
- フィールド、メソッド、クラスの名前を指定できます (新機能!)
現在、JDO は次のことを行っていません (ただし、いつかはそうなるかもしれません)
- メソッドのバイトコードを何らかの方法で変更する
墓掘りではありませんが、私はほとんどの商用難読化ツールで動作するツールを作成しました
Java Deobfuscator (別名 JDO)を使用しましたが、いくつかのバグがあります。大文字と小文字を区別するファイル名では機能しません。ソースを変更し、そのためのパッチを sourceforge にアップロードしました。 パッチ、ダウンロード
Unix/Linux/MacOS で動作するのでしょうか?
その場合、長すぎる名前の名前を変更する前に、コードを展開する VM にプロセスの 1 つのステップを移動できます。Windows でのファイル名の制限はどのくらいですか?
おそらくそれを理解するのは人間の精神力だけです。利用可能な最高の逆コンパイラを入手し、その出力について熟考してください。