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