有人能解释一下大 fs:0是什么吗?

6
:0378CED0                 push    ebp    
:0378CED1                 mov     ebp, esp     
:0378CED3                 push    0FFFFFFFFh    
:0378CED5                 push    3927B50h    
:0378CEDA                 push    38DB344h   
:0378CEDF                 mov     eax, large fs:0    
:0378CEE5                 push    eax   
:0378CEE6                 mov     large fs:0, esp   
:0378CEED                 add     esp, 0FFFFF928h   
:0378CEF3                 push    ebx   
:0378CEF4                 push    esi   
:0378CEF5                 push    edi   
:0378CEF6                 mov     [ebp+var_18], esp   
:0378CEF9                 mov     [ebp+var_20], 1   
:0378CF00                 mov     [ebp+var_1C], 0   
:0378CF07                 mov     eax, [ebp+arg_8]    
:0378CF0A                 mov     [ebp+var_230], eax   
:0378CF10                 mov     [ebp+var_22C], 0   
:0378CF1A                 mov     [ebp+var_4], 0   
:0378CF21                 jmp     loc_3B62B79   

我无法理解从0378CEDF到0378CEE6的含义。请有人解释一下...谢谢。


6
正在设置SEH框架。 - harold
3
“large”是一个非标准的术语,但很可能意味着“双字(dword)”。 - Alexey Frunze
1个回答

2
在Windows上,段寄存器FS指向Win32线程信息块。因此,如果这段代码来自Win32应用程序,则0378CEDF至0378CEE6保存了FS:0(SEH帧),然后用esp中的任何内容覆盖它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接