14

我正在分析一些 x86 二进制文件,发现以下指令我无法理解。有人可以按照说明向我解释吗?

mov eax, 大 fs:30h

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

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

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

4

1 回答 1

13

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

除其他外,PEB 包含一个标志,指示进程是否正在调试。

MSDN 有一个关于它的页面here

于 2013-01-24T10:14:27.933 回答