Binary2.0実況中継

Binary2.0時代の到来(高林さん)

  • Binary2.0ってなにさ?
    • Web2.0を支える技術・・・
  • なぜBinary2.0なのか
    • Web2.0の構築に必要
    • Web2.0の次に必要だと信じたい
  • まとめ
    • 普通のやつらの下を行け

プログラムはなぜMona OSで動くか(id:higeponさん)

  • Mona OSとは
  • プロセス・スレッド
    • MonaOSにおいては、スレッドが実行最小単位
    • 単純なHelloWorldプログラムの場合
      • 文字列>Shell(Shell Server)>Process Server>PE Server | ELF Server>FileServer
      • Syscalls>Loader>SharedMemoryObject(この行だけカーネルモード)
    • プロセスの実行は大変・・・

Dynamic Programming Language C(浜地慎一郎さん)

  • Cのテストを行いたい
    • 似たようなコードは何回も書いて欲しくない
    • マクロとかだめぽ
    • Cにはリフレクションが無い。Javaは嫌い
    • で、動的にメソッド呼び出しとかいろいろと。
  • 問題点と利点
    • JavaとかRubyに比べて、使いにくい・・・?
    • 楽しい
  • Ruby/C++

感想として、http://search.cpan.org/~neilw/Inline-CPP-0.25/lib/Inline/CPP.podとか使えばいいんじゃ・・・

G-Inspector(青笹茂さん)

  • GTK+とは
    • Cで書かれたGUIツールでOOPが出来る
  • G-Inspector
    • GTK+の実行中のハック
      • プロパティとか変更したり
      • メモリ領域をダンプ
      • プラグインもかける
  • まとめ
    • 適切なインターフェースがあればよい
  • おまけ
    • Autotoolsを使いましょう

g++と例外キャッチボール(中村孝史さん)

  • 例外処理
    • 投げるオブジェクト生成
    • unwind実行
      • 大域脱出
    • catch出来ればcatch、そうでなければunwind
      • do_catchメソッド
  • type_info
    • C++ mangling
      • 覚えれば楽らしい・・・絶対うそだろうけど
  • unwind
  • DWARF2

ここら辺から、理解が・・・・鬱。アセンブラとかその辺の話がいっぱい飛び交ってた。

実行時自己書き換え佳境(首藤一幸さん)

  • Core Wars
    • お互いのメモリを書き換えたりして相手を倒すゲーム
    • スレッドに近いものが・・・
  • 自己書き換えの例
  • やり方例
    • nop命令をjmp doneに書き換え
    • 書き換えのためには、PCの値を把握する必要がある
    • ソフトウェア割り込みを使う方法もある
  • まとめ
    • マルチバイトプログラミングでは、Core Wars的テクニックが使える

ハードコアバイナリアンへの道(八重樫剛史さん)

  • ハードウェアを扱う
    • バイナリを生で扱う
    • I/Oと直接つながる
    • バス幅変幻自在
      • 18bit乗算機
    • パイプラインとか自由
  • 作り方
    • HDLで回路を書く
    • CAD/EDAで配置とか
    • バイスを製造
  • ハードコアバイナリアンへの道
    • とりあえずCPUとか作りましょう

えっと、いろんな言葉がすごい突き刺さるんですが、気のせいですか?一応こういう話を聞いているので、本郷に行かなかったこと等は不問にしてください。>班員諸氏

Binareal バイナリファイルの構造と解釈(大和正武さん)

  • さまざまなプロトコルをサポートしてダンプを行う
  • ダンプツールとかは元々めちゃくちゃ多い

いけないお化粧magic(5)(野首貴嗣さん)

livepatch(鵜飼文敏さん)

  • livepatchとは動的にプログラムを拡張するプログラム

斜め下を行くバイナリ書き換えの探求(後藤正徳さん)

  • 実行ファイルを書き換えると、メモリのコピーも編集される
  • プログラムカーネルなんかも変更
  • ちゃんと動いた

Cache Pollution Aware Path(よしおかひろたかさん)

  • メモリアクセスの速度向上は遅いので、キャッシュが必要だけど、キャッシュミスで遅くなる
  • copy_from_user_ll()をハックすると劇的に速くなった
  • writeキャッシュミスは遅くなる

Inside QEMU(BEROさん)

GNP 'g' Network Protocol-Stack (for Boot Loader) (g新部裕さん)


多分、まとめなおしはしません。めんどいので。