xHorsX
Сообщений: 1
Оценки: 0
Присоединился: 2010-10-29 02:18:21.053333
|
Выкладываю свой класс для работы с ICQ (протокол OSCAR). Может быть кому-нибудь пригодится. Класс написан с использованием чистого Windows API и поэтому программы на его основе имеют очень небольшой размер. Функционал класса небольшой: [ul]Логин к серверу ICQСмена статусаОтправка сообщенийПриём сообщений[/ul]Но для решения простых задач, например написания ботов, он вполне подойдет. С его помощью к примеру была написана программа скрытого администрирования с управлением через ICQ. Как использовать класс. Объявить класс SICQ, а затем методом SetWindowsHandle() установить дескриптор окна, которое будет получать сообщения. Формат сообщений описан подробно в документации: http://hors.googlecode.com/files/Documentation.pdf Обработчики этих сообщений необходимо реализовать самому. Для программистов имевших дело с чистым WinAPI и С/C++/assembler это не составит особого труда. Важно: класс использует Windows Socket функции, поэтому перед использованием класса в программе нужно загрузить WinSocket Library:
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 2);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
printf("WSAStartup failed with error: %d\n", err);
return 1;
} а по окончанию работы её выгрузить
WSACleanup(); Или же использовать _LoadWS, _UnloadWS из Net.h/Net.cpp Пример использования класса: http://hors.googlecode.com/files/SimpleClient.zip Отладка. Если скомпилировать приложение на основе этого класса в отладочной конфигурации(DEBUG), то приложение во время своего выполнения будет слать отладчику отладочные сообщения. Например количество отосланных/принятых байт, типы пакетов, содержимое пакетов. Например: quote:
Close Socket BOS Server connection Create Socket Connect Server IP: 64.12.25.162 Server port: 5190 Recv 6(6) bytes Recv 4(4) bytes ———-[recv]————— Packet Size 10(A) bytes 0000|2A01F20600040000 0008|0001 ——————————- It's Hello Packet Create Cookies Packet Send 270(10E) bytes Можно для этого также использовать утилиту DbgView. http://technet.microsoft.com/en-us/s…/bb896647.aspx Лицензия. Класс можно свободно использовать в коммерческих или некоммерческих целях, с открытым исходным кодом или нет. Вы используете этот класс и программы написанные с его помощью на свой страх и риск, автор не несет никакой ответственности за возможные последствия или отсутствие оных. Контакт. Если есть вопросы или предложения по улучшению кода, то horsicq (at) gmail. com Страница проекта: http://code.google.com/p/hors/ Документация: http://hors.googlecode.com/files/Documentation.pdf Пример работы: http://hors.googlecode.com/files/SimpleClient.zip
|