今天分析的时候在IDA里面看到这样一段代码,差点忽视了
遇到代码v1 = *(_DWORD *)(__readfsdword(0x18) + 4)
FS寄存器指向当前活动线程的TEB结构
偏移 | 内容 |
---|---|
0x0 | SEH链表指针 |
0x4 | 线程堆栈顶部(地址最小) |
0x8 | 线程堆栈底部(地址最大) |
0xC | SubSystemTib |
0x10 | FiberData |
0x14 | ArbitraryUserPointer |
0x18 | FS段寄存器在内存中的镜像 |
0x20 | 进程PID |
0x24 | 线程ID |
0x2C | 指向线程局部存储的指针 |
0x30 | PEB结构地址(进程结构) |
0x34 | 上一个错误(LastError) |
V1为当前进程PID