8

Java アプリを実行するプラットフォームで作業しています。これらのアプリは難読化されていることが多く、そのほとんどが ProGuard を使用しているため、プラットフォームの問題のデバッグが非常に困難になっています。

現在、私はJD(http://java.decompiler.free.fr/)を使用してそれらのアプリを逆コンパイルしています。JD はまともな仕事をしますが、生成されたコードが難しすぎて理解できない場合があります。

これは主に、難読化ツールが JVM バイトコードの制約の少ない仕様を利用して、有効な Java コードにマップされない有効なバイトコードを生成するために発生するようです (例: 積極的なオーバーロード)。

だから、私の質問は: 難読化されたバイトコードを処理するために特別に構築された逆コンパイラはありますか?

4

2 に答える 2

5

ここのメンバーが開発した Fernflower という逆コンパイラがあります。逆コンパイルされたコード用に特別に作成された逆コンパイラであることを誇っていますが、その主張を一粒の塩で取りたいと思うかもしれません. ここにアップロードされています: https://github.com/Zidonuke/Bukkit-MinecraftServer/blob/master/tools/fernflower.jar?raw=true

于 2011-07-02T18:14:08.830 に答える
5

逆コンパイラがそれを行うとは思えません。ただし、カスタムのバイトコード変換を実装し、 ASMなどを使用してオーバーロードされたメソッドと変数の名前を変更できます。

于 2011-06-22T18:02:28.903 に答える