【对面的高手看过来】

CrackerVxV 2006-06-05 08:50:32
//==================================================================================
typedef unsigned long (WINAPI *NtDll)(unsigned int,void *,unsigned long,unsigned long*);
NtDll NtQuerySystemInformation;
NtQuerySystemInformation = (NtDll)GetProcAddress(GetModuleHandle("ntdll"),"NtQuerySystemInformation");

if(!NtQuerySystemInformation)
return false;

void *Buffer = NULL;
size_t Length = 0;
unsigned long hNtDll;
unsigned long Need = 0;

do
{
Length += 0x1000;
Buffer = realloc(Buffer, Length);

if(!Buffer)return false;
hNtDll = NtQuerySystemInformation(5, Buffer, Length, &Need);
}while(hNtDll == 0xc0000004);

if(hNtDll < 0)
{
free(Buffer);
return false;
}
struct ProcessInfo *PI;
PI = (struct ProcessInfo*)Buffer;
printf(" %-20s%s\n","ProcessName","PID");

while(PI->NextEntryDelta != 0)
{
if(PI->ProcessName.Buffer != 0)
{
printf(" %-20S%d\n",PI->ProcessName.Buffer,PI->ProcessId);
}
PI = (struct ProcessInfo *)(((char *)PI) + PI->NextEntryDelta);
}
free(Buffer);
//==================================================================================
里面的 printf(" %-20S%d\n",PI->ProcessName.Buffer,PI->ProcessId); 这句用 COUT 怎么实现????
还有个问题 注册表里的服务路径键值都是很奇怪~~~~`比如:
\??\C:\WINDOWS\system32\drivers\kmsinput.sys
%SystemRoot%\system32\svchost.exe -k netsvcs
system32\DRIVERS\cdrom.sys
\??\E:\X-Scan\dat\xpf.sys
怎么才能把他们转换成正常的路径呢?我想一定有办法吧,要不 WINDOWS 怎么识别他们的。
...全文
90 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧