mov eax,大fs:30h

dae*_*hee 12 debugging x86 assembly ida mov

我正在分析一些x86二进制文件,并找到了我无法理解的以下指令.有人可以按照说明解释我吗?

mov     eax, large fs:30h

我用Google搜索了,结果发现它是一些反调试的东西......但这就是我所知道的.

什么large意思?? 什么fs:30意思??

我知道有关分段但我不知道何时使用fs寄存器.例如cs:,ds:当指令引用代码或数据时,会隐式跳过.但究竟是fs什么,是gs什么?

Jas*_*onD 12

看起来像是Windows代码,通过线程信息块加载进程环境块(PEB)的地址,可以通过FS段访问.

PEB包含最长的其他东西,一个标志,指示进程是否正在被调试.

MSDN 在这里有一个关于它的页面