binfmt_flat

おお面白そうな。

http://memo.wnishida.com/?date=20070411#p01

なんかぱっと見た感じ、 push/pop はいらない、 EBX は inc EBX 、ってとこでしょうか。

binfmt_flat はわざわざ kernel module 書かなくても binfmt_misc でサクっと書けると思ったので書いてみました。

http://shinh.skr.jp/binary/binfmt_flat.tgz

i@u ~/binfmt_flat> ls
Makefile  flatrun.c  hello*  hello.asm  setup_binfmt_flat.sh*
i@u ~/binfmt_flat> make
cc -o flatrun flatrun.c

i@u ~/binfmt_flat> sudo ./setup_binfmt_flat.sh
i@u ~/binfmt_flat> ls -l hello
-rwxr-xr-x 1 i i 31 2007-04-12 22:18 hello*
i@u ~/binfmt_flat> ./hello
Hello, world!

というわけで 31B の Hello, world! という。

関連

あ、飽きたら

$ sudo sh -c 'echo -1 > /proc/sys/fs/binfmt_misc/flat'

とかで消せます。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h