トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

javaの逆アセンブル

参考

http://www.ne.jp/asahi/hishidama/home/tech/java/bytecode.html

概要

バイトコード(インストラクションコード?)はいわばアセンブリ言語のようなもので、javapやjadを使うとclassファイルから簡単に逆アセンブルすることが出来る。

命令の例

コード

int n = 123;
int m = 3;
int t = m + n;

バイトコード

0:   bipush  123	←123をスタックに入れる(PUSH)
2:   istore_1		←スタックから値を取り出し(POP)、ローカル変数1に入れる
3:   iconst_3		←定数3をスタックに入れる(PUSH)
4:   istore_2		←スタックから値を取り出し(POP)、ローカル変数2に入れる
5:   iload_2		←ローカル変数2をスタックに入れる(PUSH)
6:   iload_1		←ローカル変数1をスタックに入れる(PUSH)
7:   iadd		←スタックから値を2つ取り出し(POP×2)、加算して結果をスタックに入れる(PUSH)
8:   istore_3		←スタックから値を取り出し、ローカル変数3に入れる

[カテゴリ: プログラミング言語 > Java]
[カテゴリ: OS > AS400]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2017年08月28日 22時44分09秒