2013-06-24 59 views
0

我有問題要了解彙編語言指令的一個 - > IMULIMUL OllyDbg的乘法

據我所知,IMUL是 - >

imul dest, source1, source2 

,我現在有這個問題,結果Imul在ollyDBG和我的乘法是不一樣的!

這裏是IMUL在OllyDbg的 - >

而相乘的結果是0x367AA048或十進制914006088 ..

我嘗試用乘法測試與此PHP代碼..

echo dechex(0x00000053 * 0x97C9F598); 

出人意料的是,我的PHP相乘的結果是不是從什麼OllyDbg中得到相同..

我希望有人可以讓我從這個問題清楚..

感謝。

+0

嘗試使用bcmul bc數學函數..但你仍然必須考慮dec-> hex轉換。嘗試使用bc數學操縱你自己的dechex函數。這裏是[鏈接](http://php.net/manual/en/ref.bc.php)! –

回答

2

該乘法的結果不適合32位值,因此您在EAX中看到的值只是結果的較低4個字節。

由於該乘法結果爲:0x31367AA048,因此您會看到,較低的4個字節:0x367AA048被放入EAX