- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在做一个 crackme,试图编写一个注册机,我对一些 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?
最佳答案
代码将值 4275451536.0 作为 double 浮点写入地址 [ebp-410]。 4275451536.0 作为 IEEE-754 double float 的表示是 41EFDAC6D2000000(您可以进行转换 here )。由于您只查看了较低的 4 个字节,因此您看到了 D2000000,但您应该查看整个 8 个字节以查看整个值。
如果您想知道值 41EFDAC6D2000000 是如何达到的,请阅读 double precision floating point format .我上面链接的工具将为您提供尾数和指数的值。
关于assembly - FILD 和 FSTP 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167516/
我在网上搜索过,到处都写着:FILD 转换 an 的补码整数转换为 80 位扩展精度 float ,并将其放在 float 堆栈的顶部。因此,我有一个程序可以做到这一点,但得到的结果是出乎意料的。 示
正在做一个 crackme,试图编写一个注册机,我对一些 FPU 指令感到困惑。 fild qword ptr ss:[esp] ; loads 4275451536.0000000000 in
我正在尝试了解更多有关汇编和反汇编的知识。我的目标是修改使用调试器(olly)写入特定地址的方式。最好通过将其增加一个数字(20、50 等),我可以识别 float 的地址(在本例中位于 33B742
我是一名优秀的程序员,十分优秀!