;szPrivilege
db
'SeDebugPrivilege',0
;local
@stLUIDA:LUID_AND_ATTRIBUTES
;local
@stLUID:LUID
invoke
GetCurrentProcessId
invoke
OpenProcess,PROCESS_ALL_ACCESS,FALSE,eax
push
eax
invoke
GetLastError
pop
eax
invoke
OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES,offset hToken
invoke
GetLastError
invoke
LookupPrivilegeValue,NULL,addr szPrivilege,addr @stLUID
mov
@stTokenP.PrivilegeCount,1
invoke
lstrcpy,addr @stLUIDA.Luid,addr @stLUID
push
SE_PRIVILEGE_ENABLED
pop
@stLUIDA.Attributes
invoke
lstrcpy,addr @stTokenP.Privileges,addr @stLUIDA
invoke
AdjustTokenPrivileges,hToken,FALSE,addr @stTokenP,sizeof TOKEN_PRIVILEGES,NULL,NULL
invoke
GetLastError
现在的问题是AdjustTokenPrivileges返回1用GetLastError返回1300:并非所有被引用的特权都指派给呼叫方
看别人说好像是本身权限不够不能提升权限这到底要怎么弄呢,就是想枚举所以进程在XP下的,谁能给个成功的代码么