【发布时间】:2013-12-08 16:05:39
【问题描述】:
正在做一个crackme,试图写一个keygen,我对一些FPU指令感到困惑。
fild qword ptr ss:[esp] ; loads 4275451536.0000000000 into ST0. ESP has FED63690
lea esp, dword ptr ss:[esp+8]
fstp qword ptr ss:[ebp-410] ; loads D2000000 into ebp - 410
fld qword ptr ss:[ebp-410] ; loads 4275451536.0000000000 into ST0
fstp qword ptr ss:[esp+8] ; loads D2000000 into esp+8
我想知道它是如何在弹出时将 4275451536.0000000000 转换为 D2000000 的?
【问题讨论】:
-
FILD 假定 8 字节内存操作数是 64 位整数。执行第一条指令时,位置 SS:[ESP] 究竟是什么?
标签: assembly floating-point x86 reverse-engineering x87