首页
社区
课程
招聘
[求助]PsGetNextProcessThread问题
发表于: 2012-8-21 16:46 6944

[求助]PsGetNextProcessThread问题

2012-8-21 16:46
6944
我在xp上,不管通过查找特征码,还是符号文件,得到的PsGetNextProcessThread地址为
addr.
我声明:
typedef PETHREAD  (*__PsGetNextProcessThread)(PEPROCESS  Process,PETHREAD Thread);
我使用:
__PsGetNextProcessThread pfn = (PsGetNextProcessThread )addr;
pfn(PsInitialSystemProcess,NULL);

蓝屏...

何解?
初以为是stdcall和cdcel的区别,分别试过
typedef PETHREAD  (*__stdcall __PsGetNextProcessThread)(PEPROCESS  Process,PETHREAD Thread);
typedef PETHREAD  (*WINAPI __PsGetNextProcessThread)(PEPROCESS  Process,PETHREAD Thread);
还是蓝。

就仅使用以上代码,无其他任何干扰因素。

google,baidu不到相关的问题。

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 165
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
MmGetSystemRoutineAddress
2012-8-21 17:07
0
雪    币: 316
活跃值: (128)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
全局声明:
PETHREAD  (*PsGetNextProcessThread)(PEPROCESS  Process,PETHREAD Thread);

初始化地址:
*(PULONG)&PsGetNextProcessThread = (ULONG)addr;
调用方式:
PsGetNextProcessThread(xx,xx);
2012-8-21 19:29
0
雪    币: 103
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢两位热心回复,解决了。
问题不在于PsGetNextProcessThread;
问题在于PsInitialSystemProcess
直接使用pethread=PsGetNextProcessThread(PsInitialSystemProcess,pethread),蓝死不偿命。

如下使用才行
PULONG pAddr=(PULONG)PsInitialSystemProcess;
PEPROCESS pPe=(PEPROCESS)pAddr[0];
PsGetNextProcessThread(pPe,pethread);

我是XP Pro Sp3,正版。

网上查到的资料都是直接使用pethread=PsGetNextProcessThread(PsInitialSystemProcess,pethread),我靠。。。。
2012-8-21 20:47
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
也谢谢楼主有如此好的共享精神
2012-8-22 01:28
0
游客
登录 | 注册 方可回帖
返回
//