はじめに 64ビット環境では、32ビット環境に比べ、マシン語に多少の違いがある。その違いによって、リバースエンジニアリング行為に、どの程度の影響が出るのかを調べた。今回は、その過程をテキストにまとめたものである。 なお、OSはWindowsXP(x64)、デバッガはWinDbg(x64)、コンパイラはVisualStdio2005を使用した。 関数呼び出し とりあえず、どの程度の違いがあるのか、マシン語を読んでみる。 // prog1.cpp #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) { MessageBox(GetActiveWindow(), L"This is test program.", L"