「Jad」の版間の差分
ナビゲーションに移動
検索に移動
(→インストール) |
(→概要) |
||
(同じ利用者による、間の1版が非表示) | |||
7行目: | 7行目: | ||
[[dex2jar]]などを用いて[[Dalvik仮想マシン]]用の[[中間コード]]([[dexファイル]])を[[Java仮想マシン]]の[[中間コード]]に変換することで[[Android]]の[[逆コンパイル]]にも使える。 | [[dex2jar]]などを用いて[[Dalvik仮想マシン]]用の[[中間コード]]([[dexファイル]])を[[Java仮想マシン]]の[[中間コード]]に変換することで[[Android]]の[[逆コンパイル]]にも使える。 | ||
+ | |||
+ | Java 1.4までの中間コードにしか対応しておらず、Java 5以降の中間コードを喰わせるとgoto文などの嵐となる。[[ソースコード]]の[[可読性]]という意味では[[Java Decompiler]]などの活発に活動している類似製品の方が優れている。ただし[[逆コンパイル]]時のエラー率は非常に低く、多くの場合に[[逆コンパイル]]したものを直接的に再度[[コンパイル]]できる高い精度を誇っている。 | ||
==インストール== | ==インストール== | ||
23行目: | 25行目: | ||
*[[dexファイル]] | *[[dexファイル]] | ||
*[[apkファイル]] | *[[apkファイル]] | ||
+ | |||
+ | ; 類似するソフトウェア | ||
+ | *[[Java Decompiler]] | ||
+ | *:Java 5の新しい[[中間コード]]に対応している。 | ||
==参考文献== | ==参考文献== |
2015年2月22日 (日) 09:33時点における最新版
jadとは、Javaの中間コード(classファイル)を逆コンパイルできる逆コンパイラである。
概要[編集 | ソースを編集]
Jadは遥か昔から存在していおりJavaの世界では凄く有名である。 基本的にはJavaの中間コードであるclassファイルを人間が読めるソースコード形式であるjavaファイルに変換するというものである。
dex2jarなどを用いてDalvik仮想マシン用の中間コード(dexファイル)をJava仮想マシンの中間コードに変換することでAndroidの逆コンパイルにも使える。
Java 1.4までの中間コードにしか対応しておらず、Java 5以降の中間コードを喰わせるとgoto文などの嵐となる。ソースコードの可読性という意味ではJava Decompilerなどの活発に活動している類似製品の方が優れている。ただし逆コンパイル時のエラー率は非常に低く、多くの場合に逆コンパイルしたものを直接的に再度コンパイルできる高い精度を誇っている。
インストール[編集 | ソースを編集]
Mac OS X[編集 | ソースを編集]
Mac OS XであればHomebrewからインストールするのが簡単である。バイナリでの配布物のインストールとなるためパッケージ名が少し特殊な点に注意すること。
$ brew upgrade
$ brew install homebrew/binary/jad
使い方[編集 | ソースを編集]
関連項目[編集 | ソースを編集]
- 類似するソフトウェア
- Java Decompiler
- Java 5の新しい中間コードに対応している。