わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Javaのクラスファイルが送られてきたので,ソースに

本日午後はJSP (JavaServer Pages)のプログラミング演習でした.受講者は40名弱.昨年度にも実施した課題でノウハウがあるとはいえ,自分と1名のTAとで質問対応に追われた180分でした.
帰宅して,PCを立ち上げると,2人の受講生から,メールが来ていました.作っているプログラムが,思うように動かないというのです.1人には夕食前に返事をし,もう1人には夕食後に,ゆっくりと…
と思いきや,classファイル*1が添付されています.ですがデバッグに必要なのは,javaファイルのほうです.
あれも失敗これも失敗をしてから,classファイルからjavaファイルを生成する作業,「逆コンパイル」を試みました.以下のサイトで,逆コンパイラのバイナリが取得できました.

Linux版から試しましょう.なのですが,zipの伸張後,実行しても「そのようなファイルやディレクトリはありません」と表示が出ました.
次にWindows版を試しました.「Jad 1.5.8g for Windows 9x/NT/2000 on Intel platform」です.zipをダブルクリックして,できたフォルダに学生からのclassファイルを移動させ,Cygwinの端末もそこに移って,「./jad.exe」と(空白と)classファイルを指定してEnterキーで…
うまくいきました.サフィックスは.jadですが,テキストエディタで読めればいいのです.
コンパイルによって,変数名(とくにローカル変数)がどうなっているのか気になったものの,機械的な名前ではなく,もとのjavaファイルの名前が,復元できたと思ってよさそうです.
ループの終わりのほうで不自然な処理を発見し,ここは要修正,ここも書き換えておくほうがいいかなと,メールを書いて返信しました.

*1:仕様を満たすプログラムは,一つのjspファイル単独でも書けるのですが,思うところあって,javaファイルも作成し,コンパイルして,自作クラスをjspファイルの中から呼び出すよう,指示しています.