wangchao.org
添加收藏
 
购物视频论坛博客自然风光美女图片王朝网络小游戏BT下载生活百科编程设计手机图片小说
 
化妆 | 音乐 | 影视 | 图书 | 英语 | 宠物 | 美食 | 旅游 | 养生 | 手机 | 数码 | 汽车 | 珠宝 | 美容 | 装修 | 厨房 | 科普 | 动物 | 植物 | 影音 | 百科 | 知道 | 词典
  
 
 您好! 您现在位于: 王朝网络 → 编程设计 → 《在window2k&XP下屏蔽Ctrl+Alt+del返回上一页 
 
1楼 

在window2k&XP下屏蔽Ctrl+Alt+del

  网上购物、在线购物、购物搜索 欢迎光临本站购买图书、影视、音乐、数码、百货,手机等商品。

  ;在window2k&XP下屏蔽Ctrl+Alt+del
  ;by 来自轻院的狼[immlep]
  ;www.ptteam.com
  ;http://immlep.blogone.net
  ;注射代码到winlogon.exe,接管SAS消息处理函数,屏蔽Ctrl+Alt+del
  ;注:本注射的代码中还没有实现卸载的方法,运行本程序后.Ctrl+Alt+del将会一直被屏蔽,除非重启或自己卸载代码.
  ;编译链接时要将代码段设为可写
  .386
  .model flat,stdcall
  option casemap :none
  include windows.inc
  include kernel32.inc
  include user32.inc
  include advapi32.inc
  includelib kernel32.lib
  includelib user32.lib
  includelib advapi32.lib
  NewSASProc PROTO :HWND,:UINT,:WPARAM,:LPARAM
  szText MACRO Name, Text:VARARG
   LOCAL lbl
   jmp lbl
   Name db Text,0
   lbl:
   ENDM
  .data
  hProcess dd 0
  hSnapshot dd 0
  ph dd 0
  szUserBase dd 0
  injection_base dd 0
  dwSize dd 0
  szkernel32 db 'kernel32.dll',0
  szuser32 db 'user32.dll',0
  szSetWindowLong db 'SetWindowLongA',0
  szFindWindow db 'FindWindowA',0
  szCallWindowProc db 'CallWindowProcA',0
  szExitThread db 'ExitThread',0
  szWinlogon db 'winlogon.exe',0
  uProcess PROCESSENTRY32 <0>
  szfname db 0 dup(30h)
  .code
  _injection:
   call @F
   szwindowtext db 'SAS window',0
   @@:
   call @F
   szclass db 'SAS Window class',0
   @@:
   db 0B8h
   _FindWindow dd 0
   call eax ;查找窗口
   call Local1
   Local1:
   add dword ptr[esp],offset LocalX-offset Local1 ;NewSASProc
   push GWL_WNDPROC
   push eax
   db 0B8h
   _SetWindowLong dd 0 ;修改窗口处理地址,让我们的代码接管
   call eax
   push eax
   call @F
   OldSASPro dd 0
   @@:
   pop eax
   pop [eax]
   push 0
   db 0b8h
   _ExitThread dd 0
   call eax
   LocalX:
  ;-------------------------
  ;新的窗口处理函数
  ;-------------------------
  NewSASProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
   mov eax,uMsg
   .if eax==WM_HOTKEY
   .if lParam==02E0003h
   mov eax,0 ;屏蔽
   .endif
   comment ~
   ;下面代码与上面代码等价
   mov eax,lParam
   push edx
   mov edx,VK_DELETE
   shl edx,10h
   mov dx,VK_CONTROL
   xor dx,VK_ALT ;VK_ALT==12h
   cmp eax,edx
   jnz @F
   mov eax,0
   @@:
   pop edx ~
   .else
   push lParam
   push wParam
   push uMsg
   push hWin
   call @F
   @@:
   pop eax
   sub eax,03Eh ;OldSASPro
   push [eax]
   db 0B8h
   _CallWindowProc dd 0
   call EAX
   .endif
   ret
  NewSASProc endp
  injection_size equ $-_injection
  Start:
  
   invoke GetModuleHandle,NULL
   .if eax ==0
   invoke GetModuleFileName,NULL,addr szfname,30h
   invoke LoadLibrary,addr szfname
   .endif
   invoke SetWindowsHookEx,WH_KEYBOARD_LL,addr hookproc,eax,0
   invoke LoadLibrary,addr szkernel32
   invoke GetProcAddress,eax,addr szExitThread
   mov _ExitThread,eax
   invoke LoadLibrary,addr szuser32
   mov szUserBase,eax
   invoke GetProcAddress,eax,addr szSetWindowLong
   mov _SetWindowLong,eax
   invoke GetProcAddress,szUserBase,addr szFindWindow
   mov _FindWindow,eax
   invoke GetProcAddress,szUserBase,addr szCallWindowProc
   mov _CallWindowProc,eax
   call _EnableDebugPrivilege
   invoke CreateToolhelp32Snapshot, 2, 0
   mov hSnapshot, eax
   mov uProcess.dwSize, sizeof uProcess
   invoke Process32First, hSnapshot, ADDR uProcess
   mov hProcess, eax
   .while hProcess!=0
   lea eax,uProcess.szExeFile
   invoke lstrcmp,addr szWinlogon,eax
   jnz @F
   invoke OpenProcess, PROCESS_ALL_ACCESS, NULL,uProcess.th32ProcessID
   mov ph, eax
   jmp skip
   @@:
   invoke Process32Next, hSnapshot, ADDR uProcess
   mov hProcess, eax
   .endw
   skip:
   invoke CloseHandle, hSnapshot
   invoke VirtualAllocEx,ph,NULL,injection_size,MEM_COMMIT,PAGE_EXECUTE_READWRITE
   mov injection_base, EAX
   invoke WriteProcessMemory,ph,EAX,addr _injection,injection_size,NULL
   invoke CreateRemoteThread,ph,NULL, 0,injection_base,NULL, 0, 0
   invoke CloseHandle,ph
   invoke ExitProcess,NULL
  _EnableDebugPrivilege proc
   local @hToken
   local @tp:TOKEN_PRIVILEGES
   szText SE_DEBUG_NAME_Y,"SeDebugPrivilege"
   invoke GetCurrentProcess
   lea ecx,@hToken
   invoke OpenProcessToken,eax,TOKEN_ALL_ACCESS,ecx
   mov @tp.PrivilegeCount,1
   invoke LookupPrivilegeValue,NULL,addr SE_DEBUG_NAME_Y,addr @tp.Privileges[0].Luid
   mov @tp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED
   invoke AdjustTokenPrivileges,@hToken,FALSE,addr @tp,sizeof @tp,NULL,NULL
   push eax
   invoke CloseHandle,@hToken
   pop eax
   ret
  _EnableDebugPrivilege endp
  end Start

;在window2k&XP下屏蔽Ctrl+Alt+del ;by 来自轻院的狼[immlep] ;www.ptteam.com ;http://immlep.blogone.net ;注射代码到winlogon.exe,接管SAS消息处理函数,屏蔽Ctrl+Alt+del ;注:本注射的代码中还没有实现卸载的方法,运行本程序后.Ctrl+Alt+del将会一直被屏蔽,除非重启或自己卸载代码. ;编译链接时要将代码段设为可写 .386 .model flat,stdcall option casemap :none include windows.inc include kernel32.inc include user32.inc include advapi32.inc includelib kernel32.lib includelib user32.lib includelib advapi32.lib NewSASProc PROTO :HWND,:UINT,:WPARAM,:LPARAM szText MACRO Name, Text:VARARG LOCAL lbl jmp lbl Name db Text,0 lbl: ENDM .data hProcess dd 0 hSnapshot dd 0 ph dd 0 szUserBase dd 0 injection_base dd 0 dwSize dd 0 szkernel32 db 'kernel32.dll',0 szuser32 db 'user32.dll',0 szSetWindowLong db 'SetWindowLongA',0 szFindWindow db 'FindWindowA',0 szCallWindowProc db 'CallWindowProcA',0 szExitThread db 'ExitThread',0 szWinlogon db 'winlogon.exe',0 uProcess PROCESSENTRY32 <0> szfname db 0 dup(30h) .code _injection: call @F szwindowtext db 'SAS window',0 @@: call @F szclass db 'SAS Window class',0 @@: db 0B8h _FindWindow dd 0 call eax ;查找窗口 call Local1 Local1: add dword ptr[esp],offset LocalX-offset Local1 ;NewSASProc push GWL_WNDPROC push eax db 0B8h _SetWindowLong dd 0 ;修改窗口处理地址,让我们的代码接管 call eax push eax call @F OldSASPro dd 0 @@: pop eax pop [eax] push 0 db 0b8h _ExitThread dd 0 call eax LocalX: ;------------------------- ;新的窗口处理函数 ;------------------------- NewSASProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM mov eax,uMsg .if eax==WM_HOTKEY .if lParam==02E0003h mov eax,0 ;屏蔽 .endif comment ~ ;下面代码与上面代码等价 mov eax,lParam push edx mov edx,VK_DELETE shl edx,10h mov dx,VK_CONTROL xor dx,VK_ALT ;VK_ALT==12h cmp eax,edx jnz @F mov eax,0 @@: pop edx ~ .else push lParam push wParam push uMsg push hWin call @F @@: pop eax sub eax,03Eh ;OldSASPro push [eax] db 0B8h _CallWindowProc dd 0 call EAX .endif ret NewSASProc endp injection_size equ $-_injection Start: invoke GetModuleHandle,NULL .if eax ==0 invoke GetModuleFileName,NULL,addr szfname,30h invoke LoadLibrary,addr szfname .endif invoke SetWindowsHookEx,WH_KEYBOARD_LL,addr hookproc,eax,0 invoke LoadLibrary,addr szkernel32 invoke GetProcAddress,eax,addr szExitThread mov _ExitThread,eax invoke LoadLibrary,addr szuser32 mov szUserBase,eax invoke GetProcAddress,eax,addr szSetWindowLong mov _SetWindowLong,eax invoke GetProcAddress,szUserBase,addr szFindWindow mov _FindWindow,eax invoke GetProcAddress,szUserBase,addr szCallWindowProc mov _CallWindowProc,eax call _EnableDebugPrivilege invoke CreateToolhelp32Snapshot, 2, 0 mov hSnapshot, eax mov uProcess.dwSize, sizeof uProcess invoke Process32First, hSnapshot, ADDR uProcess mov hProcess, eax .while hProcess!=0 lea eax,uProcess.szExeFile invoke lstrcmp,addr szWinlogon,eax jnz @F invoke OpenProcess, PROCESS_ALL_ACCESS, NULL,uProcess.th32ProcessID mov ph, eax jmp skip @@: invoke Process32Next, hSnapshot, ADDR uProcess mov hProcess, eax .endw skip: invoke CloseHandle, hSnapshot invoke VirtualAllocEx,ph,NULL,injection_size,MEM_COMMIT,PAGE_EXECUTE_READWRITE mov injection_base, EAX invoke WriteProcessMemory,ph,EAX,addr _injection,injection_size,NULL invoke CreateRemoteThread,ph,NULL, 0,injection_base,NULL, 0, 0 invoke CloseHandle,ph invoke ExitProcess,NULL _EnableDebugPrivilege proc local @hToken local @tp:TOKEN_PRIVILEGES szText SE_DEBUG_NAME_Y,"SeDebugPrivilege" invoke GetCurrentProcess lea ecx,@hToken invoke OpenProcessToken,eax,TOKEN_ALL_ACCESS,ecx mov @tp.PrivilegeCount,1 invoke LookupPrivilegeValue,NULL,addr SE_DEBUG_NAME_Y,addr @tp.Privileges[0].Luid mov @tp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED invoke AdjustTokenPrivileges,@hToken,FALSE,addr @tp,sizeof @tp,NULL,NULL push eax invoke CloseHandle,@hToken pop eax ret _EnableDebugPrivilege endp end Start

 
标签: Alt  amp  Ctrl  del  window2k  XP  屏蔽  
 
您可以将本页贴到其他网站
UBB代码HTML代码
 
 
 
 

 
 
 
 
 更多内容
 ·linux字符界面下的乱码问题---改 ·在 windows 服务中驻留远程对象 ·防止Windows会自行关闭硬盘DMA模 ·把FireFox(1.0.7)Windows增强版
 ·安装远程桌面,VNC Server on Fr ·提高Linux系统安全性的十大招数 ·Linux中系统服务/守护进程的详细 ·Win2000/XP/2003下的密码探测器
 ·Windows图标-Icon文件格式分析。 ·win2003下面显示dbgprint的输出内 ·关于在Linux下802.1x认证的Open1 ·系统学习Linux的11点建议
 ·FreeBSD用ports安装Firefox不成功 ·Linux下的透明代理技术 ·The Linux filesystem explained ·windows运行命令详解
 ·windows下禁止程序运行 ·Linux下的并口编程 ·MS-DOS autocomplete in Microso ·Windows 2K DDK IRP原文翻译
 ·微软证实Windows XP SP3 ·Windows XP操作系统自动关机的实 ·Win 2003安装过后必须进行的配置 ·Windows 端口汇总
 
 
 
最新评论  点此查看所有评论
 
 
 
 
发表评论(支持UBB码)


验证码:  
 
 
 
© 2005- 王朝网络 版权所有