复制内容到剪贴板
代码:
.386
.model flat, stdcall
option casemap:none
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
.data
szCalss db 'Notepad',0
szDesktopClass db 'Progman',0 ;explorer.exe 的窗口类
szDesktopWindow db 'Program Manager',0
.data?
hWnd dd ?
hProcess dd ?
ShellSize dd ?
Pid dd ?
.code
Shellcode:
ShellcodeEnd:
start:
mov eax,offset ShellcodeEnd
sub eax,offset Shellcode
mov ShellSize,eax
invoke FindWindow,addr szDesktopClass,addr szDesktopWindow
invoke GetWindowThreadProcessId, eax, addr Pid
invoke OpenProcess,PROCESS_CREATE_THREAD or PROCESS_VM_WRITE+\
PROCESS_VM_OPERATION,FALSE,Pid
mov hProcess, eax
invoke VirtualAllocEx, hProcess, 0, ShellSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE
mov hWnd, eax
invoke WriteProcessMemory, hProcess, hWnd,addr Shellcode, ShellSize, 0
invoke CreateRemoteThread, hProcess, 0,0, hWnd,0, 0,0
invoke ExitProcess, 0
end start