プログラムをそれなりにやっている人であれば
それなりに知っていると思われる
逆コンパイル
自分もプログラムを始めてからそれなりの期間が経つけれど(仕事ではやってないけど…)
この方一回もやったことがなかった。
ということでやってみた。
勿論対象の言語はJava
Jadというツール?を使うと簡単に出来てしまうということで、
その再現性を確認してみた。
[逆コンパイル対象のJavaファイル]
public class HelloWorld {
/** こんにちはの静的変数 */
private static String str2 = "good afternoon!";
public static void main(String[] args) {
String str1 = "Hello World!";
// 「こんにちは」を表示します。
System.out.println(str1);
// 「こんにちは」を表示します。
System.out.println(str2);
}
}
[逆コンパイル後のJadファイル]
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: HelloWorld.java
import java.io.PrintStream;
public class HelloWorld
{
public HelloWorld()
{
}
public static void main(String args[])
{
String str1 = "Hello World!";
System.out.println(str1);
System.out.println(str2);
}
private static String str2 = "good afternoon!";
}
どうやらコメントは再現出来ないけれど、
変数名や処理は結構な感じでそのまま再現される。
こりゃすごい。
ちなみにJadのサイトはここ
http://www.varaneckas.com/jad