SmallStyle


2005-04-21

_ クラスファイルからの逆コンパイル

Javaはクラスファイルからソースコードに逆コンパイルできることは知っていたのですが,実際にやってみたこともなく,どうやるのかもしらなかったのですが,逆コンパイルする必要がでてきたので調べてみました.

JDKには標準でjavapというコマンドで逆コンパイルできます.

C:\> javap -c hogehoge

ただ,javapで逆コンパイルしたものはあんまり意味がわかりません.できれば元のソースがほぼそのまま再現されるのが一番便利です.これを実現してくれるツールにJadというものがあります.Jadで逆コンパイルをかけて出力されるファイルは,ほぼソースファイルを再現してくれます.ログ表示などに日本語などの2バイト文字を記述していると,Unicodeに変換されています.

コンパイルされたバイナリファイルはあるけどソースファイルが手元にないときは,このツールが役立ちそうです.


about me

いろいろと興味を持ったことを書いてます.ちょっとしたことは hb(@smallstyle) on Twitter で書いてます.

Archive

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|12|