toge's diary

コンピュータ関連の趣味をつらつらと。

SoftWireはまり道

時々アセンブラが無性に恋しくなるのです。
近頃仕事でコーディングを全くしないからかもしれませぬ。
(それはそれで楽しいんだけど)
今日のお題はSoftWire。一部の人は知っている、動的にx86のアセンブリ言語をアセンブルして実行できる優れものです。
しかもソースコードも結構軽量です。

http://softwire.sourceforge.net/

早速コンパイルして動かしてみよう・・・としたら何をしてもsegmentation fault・・・。
gcc 3.3.6でコンパイルしても駄目。
うーんと唸っていたらふと思い出したのです、Exec-Shieldのことを。

http://fedorasrv.com/exec-shield.shtml

を見ながら設定。めでたく動くようになりました。これで色々遊べる♪

 % cat /proc/sys/kernel/exec-shield
 1
 % execstack -q ./SoftWire
 - ./SoftWire
 % execstack -s ./SoftWire
 % execstack -q ./SoftWire
 X ./SoftWire 

Exec-Shieldの詳しい仕組みは以下の通り。
http://japan.linux.com/kernel/03/05/06/0414243.shtml