top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
あるバイトコードをリバースエンジニアリングする必要があり、Jakarta BCELを試用しました。
あるバイトコード(*.class)をリバースエンジニアリングする必要があり、BCELを試用しました。BCELを用いると jadとはまた違った観点でバイトコードの内容をチェックすることが出来ます。
簡易な実行環境メモ
BCEL 5.1
JDK 1.5.0_03 Windows版
実行コマンド 単に解析して classファイルをHTML化するためのサンプル
java -classpath bcel-5.1.jar org.apache.bcel.util.Class2HTML 解析したいクラス.class
このコマンドを実行するだけで、 classファイル内容の HTML化が実現できます。バイトコードがヴィジュアルに表示できます!私にとっては BCELが提供する機能は 結構インパクトがありました。BCELのAPIを詳しく知っていくと、もっと多くの機能が利用できるのですよね。とても興味深いAPIセットだと思いました。
関係するリソース
dW : Java technology : Javaプログラミングのダイナミックス 第8回: リフレクションに取って代わるコード生成 http://www-6.ibm.com/jp/developerworks/java/040730/j_j-dyn0610.html Javassistと Jakarta BCEL についての言及があります。、、、リフレクションよりもコード生成の方が、ずっと高速に動作するのですね。数値で示されて、結構インパクトがあります。
Sun Developer News http://sdc.sun.co.jp/news/200304/ktaijava02.html Class2HTMLの駆動方法が載っていました。
関連する日記
IT Pro: ITサービス企業 業績分析(1): 売上高ランキング・トップ100: 「利益なき繁忙」が業界を覆う、勝ち組・負け組の二極化鮮明に http://itpro.nikkeibp.co.jp/free/WAT/NEWS/20050715/1/ 「利益なき繁栄」のフレーズが心にうったえられるように感じました。悩ましいです…。
IT Pro: データで見る中堅・中小企業のIT導入実態2005(2):戦略系アプリケーションの導入率は低い http://itpro.nikkeibp.co.jp/free/smbit/smbit/20050715/164742/ 基幹系のアプリケーション+情報系のグループウェア のあたりの分析情報がとても嬉しいです。