実物
SH-3でEXEコンパイラ バイナリ直打ち pic.twitter.com/fUAAN5ixsm
— 炭鉱ハッカー shigemk2 (@shigemk2) 2014, 10月 12
コード
ヘッダ、というか.textセクション以外は他のCPUと同じ構造なので、.textセクションだけをごにょごにょしたらいい。
x86とは違うのは、
- ImageBase=0x10000固定
- MSVCRT.DLLではなくCOREDLL.DLL
- 命令はリトルエンディアン
- 遅延スロット
そう、リトルエンディアン!
さらに、inc命令が、ない!
.textセクションまわりのコード
DLLを呼び出して、アドレスの値に気をつけつつ、コードを追加していく。
最後にexitするのを忘れずに。