首页
社区
课程
招聘
[求助]关于FS寄存器的问题
发表于: 2010-5-27 17:08 4148

[求助]关于FS寄存器的问题

2010-5-27 17:08
4148
在OD中载入一个程序可以看到如下
S 0  FS 003B 32bit 7FFDD000(FFF)

我自己写一个程序,用GetThreadContext方法
可以得到FS=3B,如果再得到后面的7FFDD000及FFF
翻了下资料,没找到这块的东西。请教大侠讲解下。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 445
活跃值: (25)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
GetThreadSelectorEntry
2010-5-27 17:30
0
雪    币: 94
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Thanks very much.
2010-5-27 17:34
0
雪    币: 94
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
BOOL HideDebugger( HANDLE hThread,HANDLE hProcess){CONTEXT ctx;LDT_ENTRY sel;DWORD fs;DWORD peb;SIZE_T bytesrw;WORD flag;ctx.ContextFlags = CONTEXT_SEGMENTS;if (!GetThreadContext(hThread, &ctx))return FALSE;if (!GetThreadSelectorEntry(hThread, ctx.SegFs, &sel))return FALSE;fs = (sel.HighWord.Bytes.BaseHi << 8 | sel.HighWord.Bytes.BaseMid) << 16 | sel.BaseLow;    if (!ReadProcessMemory(hProcess, (LPCVOID)(fs + 0x30), &peb, 4, &bytesrw) || bytesrw != 4)return FALSE;if (!ReadProcessMemory(hProcess, (LPCVOID)(peb + 0x2), &flag, 2, &bytesrw) || bytesrw != 2)return FALSE;flag = 0;if (!WriteProcessMemory(hProcess, (LPCVOID)(peb + 0x2), &flag, 2, &bytesrw) || bytesrw != 2)return FALSE;return TRUE;}
2010-5-27 17:38
0
游客
登录 | 注册 方可回帖
返回
//