夏休みバイナリ入門 2012
夏休みの二日間にわたり、低レイヤのプログラミングを紹介する目的で開催します。
代表的なバイナリとして実行可能形式と圧縮ファイルについて取り上げます。
第1日目 8/19(日) 13:00〜18:00 classファイル
http://partake.in/events/2683c112-ef8c-4958-95d0-b...
詳細: binsummer2012/1
第2日目 8/26(日) 13:00〜18:00 JAR(ZIP)ファイル
http://partake.in/events/99b9a2e8-b83a-4dae-bd72-a...
第1日目
http://sdrv.ms/UcOUpW (PDF)
http://sdrv.ms/QBVzoQ (ソース)
第2日目(回答付き)
http://sdrv.ms/PF0nIQ (PDF)
http://sdrv.ms/S5BCef (ソース)
Java仮想マシン仕様書 (The Java Virtual Machine Specification)
http://docs.oracle.com/javase/specs/
classファイルの解析
http://7shi.hateblo.jp/entry/2012/06/19/075814
classファイルの注釈付きバイナリダンプ
http://7shi.hateblo.jp/entry/2012/06/19/203632
クラスファイル構成
binsummer2012/jvms-4
虎塚さんによる第1日目のまとめ: Javaのクラスファイルの読み方
http://d.hatena.ne.jp/torazuka/20120820/cafebabe
虎塚さんによる第2日目のまとめ: jarファイルのバイナリの読み方
http://d.hatena.ne.jp/torazuka/20120826/zip
JavaとPythonで用意。プログラミング経験がない人にはPythonで説明する予定。
https://bitbucket.org/7shi/binsummer2012
Cafebabe: WEBブラウザでconstant_poolまでをツリー表示するサイトを作成。ローカルのファイルシステムからDnDでクラスファイルを渡せる。
https://twitter.com/shinaisan/status/2362270414422...
http://shinaisan.github.com/cafebabe/cafebabe.html
参考にスタックマシンを javascript で実装してみました。
http://quwahara.github.com/stackmachine/bs/stackma...
JARに画像をリソースとして持たせる例(勉強会では未使用)
https://gist.github.com/3749659
ファイルを16進数でダンプする。zオプションがGNU od依存。(Linuxなど)
別途GNU odをインストールするとzオプションが有効になる。(Mac OS Xなど)
スペースをコンマに置換してCSVで出力する。(UNIX汎用: GNU od非依存)
内容についての打ち合わせ(終了)
http://atnd.org/events/30175
日程調整ページ(終了)
http://atnd.org/schedule/0b302fc318e6a6ddd4f55f116...
セプキャンみたいな感じで、若い人が低レイヤに触れる機会を作ってみたいというような話が発端です。
後で知ったのですが、私立版キャンプも開催されるんですね。
私立・プログラミングキャンプ 2012 東京大会(終了)
http://atnd.org/events/30833
私立・プログラミングキャンプ 2012 京都大会(終了)
http://atnd.org/events/30834
夏休みの二日間にわたり、低レイヤのプログラミングを紹介する目的で開催します。
代表的なバイナリとして実行可能形式と圧縮ファイルについて取り上げます。
第1日目 8/19(日) 13:00〜18:00 classファイル
http://partake.in/events/2683c112-ef8c-4958-95d0-b...
13:00〜14:00 | バイトコードやclassファイルの構造について |
14:00〜17:00 | 確認や実装 |
17:00〜18:00 | 進捗確認 |
第2日目 8/26(日) 13:00〜18:00 JAR(ZIP)ファイル
http://partake.in/events/99b9a2e8-b83a-4dae-bd72-a...
13:00〜14:00 | 圧縮について、ZIPとJARの関係、ハフマン符号について |
14:00〜17:00 | 確認や実装 |
17:00〜18:00 | 進捗確認 |
第1日目
http://sdrv.ms/UcOUpW (PDF)
http://sdrv.ms/QBVzoQ (ソース)
第2日目(回答付き)
http://sdrv.ms/PF0nIQ (PDF)
http://sdrv.ms/S5BCef (ソース)
Java仮想マシン仕様書 (The Java Virtual Machine Specification)
http://docs.oracle.com/javase/specs/
classファイルの解析
http://7shi.hateblo.jp/entry/2012/06/19/075814
classファイルの注釈付きバイナリダンプ
http://7shi.hateblo.jp/entry/2012/06/19/203632
クラスファイル構成
binsummer2012/jvms-4
虎塚さんによる第1日目のまとめ: Javaのクラスファイルの読み方
http://d.hatena.ne.jp/torazuka/20120820/cafebabe
虎塚さんによる第2日目のまとめ: jarファイルのバイナリの読み方
http://d.hatena.ne.jp/torazuka/20120826/zip
JavaとPythonで用意。プログラミング経験がない人にはPythonで説明する予定。
https://bitbucket.org/7shi/binsummer2012
Cafebabe: WEBブラウザでconstant_poolまでをツリー表示するサイトを作成。ローカルのファイルシステムからDnDでクラスファイルを渡せる。
https://twitter.com/shinaisan/status/2362270414422...
http://shinaisan.github.com/cafebabe/cafebabe.html
参考にスタックマシンを javascript で実装してみました。
http://quwahara.github.com/stackmachine/bs/stackma...
JARに画像をリソースとして持たせる例(勉強会では未使用)
https://gist.github.com/3749659
ファイルを16進数でダンプする。zオプションがGNU od依存。(Linuxなど)
$ od -Ax -tx1z Hello.class 000000 ca fe ba be 00 00 00 33 00 1d 0a 00 06 00 0f 09 >.......3........< 000010 00 10 00 11 08 00 12 0a 00 13 00 14 07 00 15 07 >................< (以下略)
別途GNU odをインストールするとzオプションが有効になる。(Mac OS Xなど)
$ god -Ax -tx1z Hello.class
スペースをコンマに置換してCSVで出力する。(UNIX汎用: GNU od非依存)
$ od -Ax -tx1 Hello.class | sed -E 's/ +/,/g' > Hello.csv
内容についての打ち合わせ(終了)
http://atnd.org/events/30175
日程調整ページ(終了)
http://atnd.org/schedule/0b302fc318e6a6ddd4f55f116...
セプキャンみたいな感じで、若い人が低レイヤに触れる機会を作ってみたいというような話が発端です。
後で知ったのですが、私立版キャンプも開催されるんですね。
私立・プログラミングキャンプ 2012 東京大会(終了)
http://atnd.org/events/30833
私立・プログラミングキャンプ 2012 京都大会(終了)
http://atnd.org/events/30834
最新コメント