.386 .model flat,stdcall option casemap:none include windows.inc include kernel32.inc include user32.inc includelib kernel32.lib includelib user32.lib .data? StartupInfo STARTUPINFO <> ProcessInfo PROCESS_INFORMATION <> BytesWritten dd ? .data TargetName db "SuperCleaner.exe",0 ProcError db "Error starting target process.",0 WriteError db "Error writing to target process",0 PatchByte db 0EBh PatchVA dd 0042374Fh .code start: invoke CreateProcess,addr TargetName,0,0,0,0,CREATE_SUSPENDED,0,0,addr StartupInfo,addr ProcessInfo .if eax==0 invoke MessageBox,NULL,addr ProcError,NULL,MB_ICONERROR .else invoke WriteProcessMemory,ProcessInfo.hProcess,PatchVA,addr PatchByte,1,addr BytesWritten .if BytesWritten!=1 invoke MessageBox,NULL,addr WriteError,NULL,MB_ICONERROR invoke TerminateProcess,ProcessInfo.hProcess,0 .else invoke ResumeThread,ProcessInfo.hThread .endif .endif invoke ExitProcess,NULL end start