我想知道当下面的代码块执行时哪个值被分配给了eax?“mov eax,dword ptr fs:loc_12 + 6”哪个值已分配给eax?
转储的数据,如果必要的:
00000012 0F B6 83 1B 47 40 00 0B C0 75 0A B8 F8 FF FF FF
编辑:处理器是X86,操作系统是Windows
我想知道当下面的代码块执行时哪个值被分配给了eax?“mov eax,dword ptr fs:loc_12 + 6”哪个值已分配给eax?
转储的数据,如果必要的:
00000012 0F B6 83 1B 47 40 00 0B C0 75 0A B8 F8 FF FF FF
编辑:处理器是X86,操作系统是Windows
你的反汇编器分配一个值loc_12我们不知道,你并不是说这是什么平台,但在Windows上,任何与fs:register有关的事情通常都与线程信息块(TIB)有关。
最有可能的,它是从异常处理程序链阅读或阅读栈限制或线程ID - 实际抵消了指令使用应该让你看看我所提到的页面上。
这是不可能的这个指令之后,告诉的eax
值而无需知道:
fs
指向loc_12+6
不断segment base address + offset encoded in the instruction
我只是询问是否值TH在分配给EAX是 “(0F B6 83 1B)+ 6” 或 “00 0B 75 C0” – turksauron 2013-03-16 01:24:12
@turksauron都不是。 – 2013-03-16 02:25:25
如果您的数据转储从fs:[12]开始,则eax应该变为75c00b00。 – 2013-03-16 05:43:55