渐渐开始明白,原来汇编也很简单

来源:互联网 发布:时空医药软件好用吗 编辑:程序博客网 时间:2024/04/28 02:40

发一个昨天写的关机程序,没测试过`````因为测试成功就要关电脑了

.386
.model flat,stdcall
option casemap:none
include /masm32/include/windows.inc
include /masm32/include/kernel32.inc
include /masm32/include/user32.inc
includelib /masm32/lib/kernel32.lib
includelib /masm32/lib/user32.lib
include /masm32/include/advapi32.inc
includelib /masm32/lib/advapi32.lib
.data
msgtext db "你确定要关闭计算机吗?",0
msgtitle db "confirm",0
privilegename db "SeShutdownPrivilege",0
.data?
tkp TOKEN_PRIVILEGES <>
htoken dd ?
.code
start:
invoke MessageBox,NULL,addr msgtext,addr msgtitle,MB_OKCANCEL
cmp eax,IDOK
jne @f
invoke GetCurrentProcess
invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,addr htoken
invoke LookupPrivilegeValue,NULL,addr privilegename,addr tkp.Privileges[0].Luid
mov tkp.PrivilegeCount,1
mov tkp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED
invoke AdjustTokenPrivileges,htoken,FALSE,addr tkp,0,NULL,0
invoke ExitWindowsEx,EWX_SHUTDOWN,NULL
@@:
invoke ExitProcess,NULL
end start

原创粉丝点击