首页
社区
课程
招聘
[求助]求指点 PsGetContextThread和Set函数的一些问题
发表于: 2013-5-1 14:01 9126

[求助]求指点 PsGetContextThread和Set函数的一些问题

2013-5-1 14:01
9126
RT
我在线程启动之前HOOK
目前可以保证这个线程在Resume之前我可以进行操作
我执行PsGetContextThread 获取CONTEXT
按理说EAX应该就是线程执行的起始点了。
但是我DBGPRINT 输出的eax是0x8..........
何解?

我刚才又测试了一下 看了下返回的NTSTATUS  是 C0000005 STATUS_ACCESS_VIOLATION
难道是需要初始化一下CONTEXT结构么?

/***********PS:这个问题解决了。。。
还有就是PsSetContextThread没有导出
这个函数不在Ntdll里面,怎么获取这个函数捏?
*************/
PS:环境 WIN7SP1

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 608
活跃值: (648)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
亲 你没发烧吧
PsSetContextThread这个函数是ntoskrnl.exe导出的 跟ntdll有什么关系
一个内核态 一个用户态
2013-5-1 14:20
0
雪    币: 140
活跃值: (125)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
我这一LOAD ntoskrnl 直接蓝了~
搞定了 找到错误了 3Q
2013-5-1 14:26
0
雪    币: 207
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
karlx 我这一LOAD ntoskrnl 直接蓝了~ 搞定了 找到错误了 3Q
兄弟,啥错误倒是说一下啊
2019-5-26 18:28
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
“我执行PsGetContextThread 获取CONTEXT
按理说EAX应该就是线程执行的起始点了。”这里为什么说eax是线程执行的起始点,我看书碰到这个好久也没弄懂,真心求教
2020-9-26 00:06
0
雪    币: 190
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
wx_冰糖鳕鱼 “我执行PsGetContextThread 获取CONTEXT 按理说EAX应该就是线程执行的起始点了。”这里为什么说eax是线程执行的起始点,我看书碰到这个好久也没弄懂,真心求教
新创建的线程,创建者指定的ThreadRoutine不是在一开始就调用的,而是在线程初始化函数(比如用户态的BaseThreadStartThunk)里调用。传值通过寄存器,比如在x86下是这样:
Context->Eax = (ULONG)InitialPc;
Context->Ebx = (ULONG)Parameter;
2020-12-7 10:33
0
游客
登录 | 注册 方可回帖
返回
//