哎哎,,查了几天资料了,找不到诶..~
各位哥哥举手之劳,请解救我吧!
以下是我这几天查资料总结的代码,OpenThread好使,但是ZwQueryInformationThread返回的StartAddr,却一直是0,
(注意,如果我不写StartAddr := 0; StartAddr的值不是0,. 应该是ZwQueryInformationThread未返回值~)请各位大侠大哥大姐帮帮我..下面这段是我的代码,请帮我看一下错在哪里,,或者给我一段正确的,可运行的delphi代码~~~~
在此谢过!
var
hLib : HModule;
hThreadHand : THandle;
StartAddr : pointer;
tmp : DWORD;
YtoBeAbout : ThreadAbout;
begin
if EnableDebugPriv then
begin
hLib := LoadLibrary('kernel32.dll');
@OpenThread := GetProcAddress(hLib, 'OpenThread');
hThreadHand := OpenThread($2, False, ThreadId);
hLib := LoadLibrary('ntdll.dll');
@ZwQueryInformationThread := GetProcAddress(hLib, 'ZwQueryInformationThread');
StartAddr := 0;
ZwQueryInformationThread(hThreadHand,ThreadQuerySetWin32StartAddress,@StartAddr, SizeOf(StartAddr),@tmp);
YtoBeAbout.hThread := hThreadHand;
YtoBeAbout.StartAddr := integer(StartAddr);
result := YtoBeAbout;
CloseHandle(hThreadHand);
FreeLibrary(hLib);
end;
end;
各位哥哥举手之劳,请解救我吧!
以下是我这几天查资料总结的代码,OpenThread好使,但是ZwQueryInformationThread返回的StartAddr,却一直是0,
(注意,如果我不写StartAddr := 0; StartAddr的值不是0,. 应该是ZwQueryInformationThread未返回值~)请各位大侠大哥大姐帮帮我..下面这段是我的代码,请帮我看一下错在哪里,,或者给我一段正确的,可运行的delphi代码~~~~
在此谢过!
var
hLib : HModule;
hThreadHand : THandle;
StartAddr : pointer;
tmp : DWORD;
YtoBeAbout : ThreadAbout;
begin
if EnableDebugPriv then
begin
hLib := LoadLibrary('kernel32.dll');
@OpenThread := GetProcAddress(hLib, 'OpenThread');
hThreadHand := OpenThread($2, False, ThreadId);
hLib := LoadLibrary('ntdll.dll');
@ZwQueryInformationThread := GetProcAddress(hLib, 'ZwQueryInformationThread');
StartAddr := 0;
ZwQueryInformationThread(hThreadHand,ThreadQuerySetWin32StartAddress,@StartAddr, SizeOf(StartAddr),@tmp);
YtoBeAbout.hThread := hThreadHand;
YtoBeAbout.StartAddr := integer(StartAddr);
result := YtoBeAbout;
CloseHandle(hThreadHand);
FreeLibrary(hLib);
end;
end;
解决方案 »
- 急!我向窗体中输入数据后点保存,数据保存了,但是再次点击窗体时页面还是显示刚才输入数据,怎样刷新页面呢
- 关于使用Indy10 的TIdTCPClient传送结构的问题。
- 两个简单小问题
- 急...在线等 老问题 Access数据库日期型怎么查询
- PostMessage消息的制定资料
- 可能是多线程的问题
- 在TIDTcpServer构件时的一个奇怪问题???!!!解答者加分
- 请问:有谁知道我如何在网上查找我的ISP的IP地址。我只知道网址。
- 这个class-references类型有什么用?
- 50分都已经送完,但问题仍然没有彻底解决,再送50分,请帮帮我!
- 通过线程ID获得线程的模块名和线程起始地址,该如何做?
- 如何栏截网页的提交事件?顶者有分
无法获得线程 0 的相关信息,错误代码为 87
无法获得线程 8 的相关信息,错误代码为 5
无法获得线程 10 的相关信息,错误代码为 5
无法获得线程 14 的相关信息,错误代码为 5
无法获得线程 18 的相关信息,错误代码为 5
无法获得线程 1C 的相关信息,错误代码为 5
无法获得线程 20 的相关信息,错误代码为 5
无法获得线程 24 的相关信息,错误代码为 5
无法获得线程 28 的相关信息,错误代码为 5
无法获得线程 2C 的相关信息,错误代码为 5
无法获得线程 30 的相关信息,错误代码为 5
无法获得线程 34 的相关信息,错误代码为 5
无法获得线程 38 的相关信息,错误代码为 5
无法获得线程 3C 的相关信息,错误代码为 5
无法获得线程 40 的相关信息,错误代码为 5
无法获得线程 44 的相关信息,错误代码为 5
无法获得线程 48 的相关信息,错误代码为 5
无法获得线程 4C 的相关信息,错误代码为 5
无法获得线程 50 的相关信息,错误代码为 5
无法获得线程 54 的相关信息,错误代码为 5
无法获得线程 58 的相关信息,错误代码为 5
无法获得线程 5C 的相关信息,错误代码为 5
无法获得线程 60 的相关信息,错误代码为 5
无法获得线程 64 的相关信息,错误代码为 5
无法获得线程 68 的相关信息,错误代码为 5
无法获得线程 6C 的相关信息,错误代码为 5
无法获得线程 74 的相关信息,错误代码为 5
无法获得线程 84 的相关信息,错误代码为 5
无法获得线程 88 的相关信息,错误代码为 5
无法获得线程 8C 的相关信息,错误代码为 5
无法获得线程 90 的相关信息,错误代码为 5
无法获得线程 BC 的相关信息,错误代码为 5
无法获得线程 C8 的相关信息,错误代码为 5
无法获得线程 CC 的相关信息,错误代码为 5
无法获得线程 D0 的相关信息,错误代码为 5
无法获得线程 164 的相关信息,错误代码为 5
无法获得线程 168 的相关信息,错误代码为 5
无法获得线程 16C 的相关信息,错误代码为 5
无法获得线程 170 的相关信息,错误代码为 5
无法获得线程 174 的相关信息,错误代码为 5
无法获得线程 1A8 的相关信息,错误代码为 5
无法获得线程 1AC 的相关信息,错误代码为 5
无法获得线程 1B0 的相关信息,错误代码为 5
无法获得线程 1B4 的相关信息,错误代码为 5
无法获得线程 1BC 的相关信息,错误代码为 5
无法获得线程 284 的相关信息,错误代码为 5
无法获得线程 28C 的相关信息,错误代码为 5
无法获得线程 290 的相关信息,错误代码为 5
无法获得线程 2B8 的相关信息,错误代码为 5
无法获得线程 768 的相关信息,错误代码为 5
无法获得线程 7F8 的相关信息,错误代码为 5
无法获得线程 7FC 的相关信息,错误代码为 5
无法获得线程 78 的相关信息,错误代码为 5
无法获得线程 7C 的相关信息,错误代码为 5
无法获得线程 A0 的相关信息,错误代码为 5
无法获得线程 F8 的相关信息,错误代码为 5
无法获得线程 FC 的相关信息,错误代码为 5
无法获得线程 100 的相关信息,错误代码为 5
无法获得线程 504 的相关信息,错误代码为 5
无法获得线程 50C 的相关信息,错误代码为 5
无法获得线程 52C 的相关信息,错误代码为 5
无法获得线程 530 的相关信息,错误代码为 5
无法获得线程 538 的相关信息,错误代码为 5
无法获得线程 560 的相关信息,错误代码为 5
无法获得线程 564 的相关信息,错误代码为 5
无法获得线程 15C 的相关信息,错误代码为 5
无法获得线程 2C0 的相关信息,错误代码为 5
无法获得线程 2C4 的相关信息,错误代码为 5
无法获得线程 2C8 的相关信息,错误代码为 5
无法获得线程 2F4 的相关信息,错误代码为 5
无法获得线程 2F8 的相关信息,错误代码为 5
无法获得线程 2FC 的相关信息,错误代码为 5
无法获得线程 300 的相关信息,错误代码为 5
无法获得线程 30C 的相关信息,错误代码为 5
无法获得线程 310 的相关信息,错误代码为 5
无法获得线程 314 的相关信息,错误代码为 5
无法获得线程 344 的相关信息,错误代码为 5
无法获得线程 348 的相关信息,错误代码为 5
无法获得线程 1A0 的相关信息,错误代码为 5
无法获得线程 690 的相关信息,错误代码为 5
无法获得线程 308 的相关信息,错误代码为 5
无法获得线程 31C 的相关信息,错误代码为 5
无法获得线程 324 的相关信息,错误代码为 5
无法获得线程 328 的相关信息,错误代码为 5
无法获得线程 32C 的相关信息,错误代码为 5
无法获得线程 338 的相关信息,错误代码为 5
无法获得线程 410 的相关信息,错误代码为 5
无法获得线程 414 的相关信息,错误代码为 5
无法获得线程 418 的相关信息,错误代码为 5
无法获得线程 558 的相关信息,错误代码为 5
无法获得线程 55C 的相关信息,错误代码为 5
无法获得线程 588 的相关信息,错误代码为 5
无法获得线程 6D4 的相关信息,错误代码为 5
无法获得线程 6E4 的相关信息,错误代码为 5
无法获得线程 B4 的相关信息,错误代码为 5
无法获得线程 E0 的相关信息,错误代码为 5
无法获得线程 DC 的相关信息,错误代码为 5
无法获得线程 4B8 的相关信息,错误代码为 5
无法获得线程 34C 的相关信息,错误代码为 5
无法获得线程 350 的相关信息,错误代码为 5
无法获得线程 354 的相关信息,错误代码为 5
无法获得线程 3AC 的相关信息,错误代码为 5
无法获得线程 3C8 的相关信息,错误代码为 5
无法获得线程 3D0 的相关信息,错误代码为 5
无法获得线程 3E8 的相关信息,错误代码为 5
无法获得线程 420 的相关信息,错误代码为 5
无法获得线程 4A4 的相关信息,错误代码为 5
无法获得线程 4A8 的相关信息,错误代码为 5
无法获得线程 550 的相关信息,错误代码为 5
无法获得线程 1B8 的相关信息,错误代码为 5
无法获得线程 468 的相关信息,错误代码为 5
无法获得线程 470 的相关信息,错误代码为 5
无法获得线程 474 的相关信息,错误代码为 5
无法获得线程 358 的相关信息,错误代码为 5
无法获得线程 35C 的相关信息,错误代码为 5
无法获得线程 360 的相关信息,错误代码为 5
无法获得线程 364 的相关信息,错误代码为 5
无法获得线程 368 的相关信息,错误代码为 5
无法获得线程 370 的相关信息,错误代码为 5
无法获得线程 388 的相关信息,错误代码为 5
无法获得线程 38C 的相关信息,错误代码为 5
无法获得线程 390 的相关信息,错误代码为 5
无法获得线程 39C 的相关信息,错误代码为 5
无法获得线程 3A8 的相关信息,错误代码为 5
无法获得线程 3B8 的相关信息,错误代码为 5
无法获得线程 53C 的相关信息,错误代码为 5
无法获得线程 1D0 的相关信息,错误代码为 5
无法获得线程 220 的相关信息,错误代码为 5
无法获得线程 224 的相关信息,错误代码为 5
无法获得线程 228 的相关信息,错误代码为 5
无法获得线程 158 的相关信息,错误代码为 5
无法获得线程 3E0 的相关信息,错误代码为 5
无法获得线程 400 的相关信息,错误代码为 5
无法获得线程 404 的相关信息,错误代码为 5
无法获得线程 408 的相关信息,错误代码为 5
无法获得线程 49C 的相关信息,错误代码为 5
无法获得线程 4FC 的相关信息,错误代码为 5
无法获得线程 5B4 的相关信息,错误代码为 5
无法获得线程 640 的相关信息,错误代码为 5
无法获得线程 648 的相关信息,错误代码为 5
无法获得线程 644 的相关信息,错误代码为 5
无法获得线程 64C 的相关信息,错误代码为 5
无法获得线程 618 的相关信息,错误代码为 5
无法获得线程 650 的相关信息,错误代码为 5
无法获得线程 67C 的相关信息,错误代码为 5
无法获得线程 140 的相关信息,错误代码为 5
无法获得线程 42C 的相关信息,错误代码为 5
无法获得线程 430 的相关信息,错误代码为 5
无法获得线程 434 的相关信息,错误代码为 5
无法获得线程 438 的相关信息,错误代码为 5
无法获得线程 43C 的相关信息,错误代码为 5
无法获得线程 448 的相关信息,错误代码为 5
无法获得线程 7B4 的相关信息,错误代码为 5
无法获得线程 19C 的相关信息,错误代码为 5
无法获得线程 1E4 的相关信息,错误代码为 5
无法获得线程 71C 的相关信息,错误代码为 5
无法获得线程 3BC 的相关信息,错误代码为 5
无法获得线程 484 的相关信息,错误代码为 5
无法获得线程 488 的相关信息,错误代码为 5
无法获得线程 48C 的相关信息,错误代码为 5
无法获得线程 490 的相关信息,错误代码为 5
无法获得线程 4B4 的相关信息,错误代码为 5
无法获得线程 4D8 的相关信息,错误代码为 5
无法获得线程 500 的相关信息,错误代码为 5
无法获得线程 5A4 的相关信息,错误代码为 5
无法获得线程 5A8 的相关信息,错误代码为 5
无法获得线程 5B0 的相关信息,错误代码为 5
无法获得线程 5B8 的相关信息,错误代码为 5
无法获得线程 5C8 的相关信息,错误代码为 5
无法获得线程 5CC 的相关信息,错误代码为 5
无法获得线程 5D0 的相关信息,错误代码为 5
无法获得线程 5D4 的相关信息,错误代码为 5
无法获得线程 5D8 的相关信息,错误代码为 5
thread := OpenThread($1fffff(*THREAD_ALL_ACCESS*), FALSE, dwThreadID);
后
thread始终为0..
线程 308 所在进程映象为 \??\C:\windows\system32\winlogon.exe
线程 308 可执行代码所在模块为
线程 324 的起始地址为 7C94798D
线程 324 所在进程ID为 304
线程 324 所在进程映象为 \??\C:\windows\system32\winlogon.exe
线程 324 可执行代码所在模块为 \Device\HarddiskVolume1\WINDOWS\system32\ntdll.dll
线程 328 的起始地址为 7C930760
线程 328 所在进程ID为 304
线程 328 所在进程映象为 \??\C:\windows\system32\winlogon.exe
线程 328 可执行代码所在模块为 \Device\HarddiskVolume1\WINDOWS\system32\ntdll.dll结果已经完全正确了,, 进程ID:304,就是我要的winlogon.exe中的线程信息~,没办法阿,毒都往里注~~
全是泪,, 代码稍稍有点问题,我改了一下,只需要在
thread := OpenThread($1fffff(*THREAD_ALL_ACCESS*), FALSE, dwThreadID);
前面加上 OpenProcessToken, LookupPrivilegeValue, AdjustTokenPrivileges 三个API组成的提权功能就可以了!泪阿~~~ 太感谢大哥赐教了, 你的举手之劳, 也许就是我一个月的奋斗!