能力值:
( LV8,RANK:130 )
2 楼
貌似直接F5出来
这代码到处都是
没什么好保留的
BOOL EnableDebugPrivilge(LPCSTR lpName, BOOL fEnable)
{
HANDLE hObject;
LUID Luid;
TOKEN_PRIVILEGES NewStatus;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &hObject))
return FALSE;
if (LookupPrivilegeValue(NULL, lpName, &Luid))
{
NewStatus.Privileges[0].Luid = Luid;
NewStatus.PrivilegeCount = 1;
NewStatus.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0;
AdjustTokenPrivileges(hObject, FALSE, &NewStatus, 0, 0, 0);
CloseHandle(hObject);
return TRUE;
}
return FALSE;
}
能力值:
( LV3,RANK:30 )
3 楼
眼花,没看出啥特别之处,这段代码貌似已经满天飞很久了吧~~~
能力值:
( LV3,RANK:30 )
4 楼
汗……比nevergone慢了00:01
能力值:
( LV12,RANK:441 )
5 楼
起码是自己找到的……比较有成就感……
能力值:
( LV8,RANK:130 )
6 楼
LZ 去看windows核心编程呀
能力值:
( LV12,RANK:441 )
7 楼
谢谢提示~~
能力值:
( LV8,RANK:130 )
8 楼
结束winlogon需要SE_DEBUG? 小吃惊.
能力值:
( LV12,RANK:441 )
9 楼
没有SE_DEBUG能结束winlogon?Ring3哦~~
能力值:
( LV2,RANK:10 )
10 楼
要不要SE_DEBUG? 还没试过,结束系统进程好像要的
能力值:
( LV12,RANK:1010 )
11 楼
LZ,你是火星人吗?
能力值:
(RANK:170 )
12 楼
;===============调整权限=====================
privilege db "SeShutdownPrivilege",0
AdjustToken proc
local hdlProcessHandle
local hdlTokenHandle
local @tp:TOKEN_PRIVILEGES
local lBufferNeeded
local @os:OSVERSIONINFO
mov @os.dwOSVersionInfoSize,sizeof OSVERSIONINFO
invoke GetVersionExA,addr @os
cmp @os.dwPlatformId,VER_PLATFORM_WIN32_NT
jne @F
invoke GetCurrentProcess
mov hdlProcessHandle,eax
invoke OpenProcessToken,hdlProcessHandle,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,addr hdlTokenHandle
invoke LookupPrivilegeValue,0,addr privilege,addr @tp.Privileges.Luid
mov @tp.PrivilegeCount,1
mov @tp.Privileges.Attributes,SE_PRIVILEGE_ENABLED
invoke AdjustTokenPrivileges,hdlTokenHandle,FALSE,addr @tp,sizeof TOKEN_PRIVILEGES,addr @tp,addr lBufferNeeded
@@: ret
AdjustToken endp
// ps.也不知道哪里的了
能力值:
( LV4,RANK:50 )
13 楼
好科普的代码!!
能力值:
( LV12,RANK:441 )
14 楼
看来我真的需要去长长见识了……
能力值:
( LV2,RANK:10 )
15 楼
支持LZ.....
有好代码一起分享........
老鸟不在忽的东西但对我们这些菜鸟很有意...谢谢......
能力值:
(RANK:1060 )
16 楼
来膜拜火星LZ的
能力值:
(RANK:570 )
17 楼
所以病毒的"技术含量"才会被吹到天上去
你说我当年做病毒分析的时候,天天看类似的代码,能不说病毒没技术含量吗?
能力值:
( LV9,RANK:170 )
18 楼
AdjustTokenPrivileges真的很普遍了
能力值:
( LV15,RANK:340 )
19 楼
这代码还真是有点年头了,至少也换个RtlAdjustPrivilege()。RtlAdjustPrivilege用起来方便,省事,比如这样
var
RtnInt: Integer;
begin
if (RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, TRUE, FALSE, @RtnInt) <> STATUS_SUCCESS) then
begin
MessageBoxW(0, 'RtlAdjustPrivilege() Error!', '', MB_OK);
end;
实际也就 RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, TRUE, FALSE, @RtnInt) 一句搞定!