2006-12-20
■[Windows]PE Golf(3)
この半端なコードを、
http://d.hatena.ne.jp/firewood/20061120/1163957029
プロゴルファーが「ありあり」に改良してくれました。さすがですなあ。
http://d.hatena.ne.jp/shinichiro_h/20061202#1165067227
自分でも同じことをやろうとして、コード領域はread onlyだろうし、通常のアプリでテストしても例外で死ぬので、そこで止まっていたのだが、shinichiro_h氏のは自己書き換えしている。なぜ大丈夫なのかわからなかったのでちょっと試行錯誤した。
IMAGE_SECTION_HEADERのCharacteristicsでIMAGE_SCN_MEM_WRITEがセットされているのでそのせいかと思ってビットを落としてみたが、そこは関係なくて、リンカオプションに/align:16を渡すと、.textが書き換え可能になることが判明。
正常なバイナリでないので、チェック機能を素通りするという感じ? だとしたら実行できることがヤバいんじゃないだろうか。
トラックバック - http://d.hatena.ne.jp/firewood/20061220/1166543905
リンク元
- 4 http://cpp.ring.hatena.ne.jp/
- 2 http://binary2.ring.hatena.ne.jp/
- 2 http://www.google.com/search?hl=fi&rls=HPND,HPND:2006-39,HPND:en&q=windows+hello+world+winmain&lr=
- 1 http://209.85.165.104/search?q=cache:pxT-kYNHG5EJ:d.hatena.ne.jp/firewood/20051206/1133838846+unicode+デバッグ vc6&hl=ja&gl=jp&ct=clnk&cd=3&lr=lang_ja&client=firefox
- 1 http://a.hatena.ne.jp/kusakabeyouji/
- 1 http://a.hatena.ne.jp/ytqwerty/
- 1 http://d.hatena.ne.jp/keyword/セット
- 1 http://d.hatena.ne.jp/shinichiro_h/20061117
- 1 http://d.hatena.ne.jp/shinichiro_h/200612
- 1 http://d.hatena.ne.jp/shinichiro_h/?of=20
