我在網上搜索過,無處不在:FILD將 整數的二進制補碼轉換爲80位的擴展精度浮點數,並將其放在浮點堆棧頂部。 所以,我有一個程序做到這一點,但我得到的結果是意想不到的。FILD和FSTP如何工作?
例子: 我在內存中的數字0xFF20A810(讓我們在0x40000000之後說) FILD [0x40000000之後] FSTP [0x40010000]
結果我得到的是0x41EFE41502000000。數字如何轉換? 我正在使用這個crackme,我只是找不到解決方案。
謝謝
我在網上搜索過,無處不在:FILD將 整數的二進制補碼轉換爲80位的擴展精度浮點數,並將其放在浮點堆棧頂部。 所以,我有一個程序做到這一點,但我得到的結果是意想不到的。FILD和FSTP如何工作?
例子: 我在內存中的數字0xFF20A810(讓我們在0x40000000之後說) FILD [0x40000000之後] FSTP [0x40010000]
結果我得到的是0x41EFE41502000000。數字如何轉換? 我正在使用這個crackme,我只是找不到解決方案。
謝謝
0x41EFE41502000000是雙精度4280330256.0。 0xFF20A810是4280330256作爲無符號整數。
所以你不小心加載它,我認爲,qword,並得到幸運(其他字節爲零)。
非常感謝(: – user1291797 2012-03-30 15:00:35
你期待它做什麼? – 2012-03-25 21:55:27