main めも

http://d.hatena.ne.jp/shinichiro_h/20060830
shinhさんのコード参考に。

% cat imain.c
int main = 0x90c332b0;
% cc imain.c -o imain
% ./imain.exe ; echo $?
50
% cat cmain.c
char main[] = "\xb0\x32\xc3";
% cc cmain.c -o cmain
% ./cmain.exe ; echo $?
50
%

なるほどなあ。

一応書いておくと

b0 32		mov $32, %eax
c3			ret
90			nop

ですね。

参考文献

http://www.intel.com/jp/download/index.htm
http://www.intel.com/products/processor/manuals/index.htm
この辺。
日本語だと「IA-32 インテル® アーキテクチャー・ソフトウェア・デベロッパーズ・マニュアル」あたり。英語だと「Intel® 64 and IA-32 Architectures Software Developer's Manual」。

test