PE Golf (1)

リンカオプション/align:16を追加したら672バイトになった。VC++(GUI)だとその辺が限界っぽい。
/stub:stub.exeみたいので自分のstubを使うと544バイトになった。でもこの状態でもPEヘッダの前に64バイトの謎の領域(Richなんとかってやつ)が入っている。
バイナリエディタでPEヘッダを前のほうにずらしてオフセット0x18に持っていったら、440バイトになった。インポートテーブルありの状態。
256バイトを切るためには、

  • DataDirectoryを削る
  • DataDirectoryの領域にセクションヘッダやコードを置く

のどちらかかな。