Proxy-Base Community - Анонимность и безопасность в интернете. - Показать сообщение отдельно - Hors, C++ класс для работы с ICQ
Показать сообщение отдельно
Старый 06.01.2011, 19:59   #1 (permalink)
.thereal
VPN
 
Аватар для .thereal
 
Регистрация: 02.10.2010
Сообщений: 355
Member ID: 9566
ICQ 66111111
Jabber real@proxy-base.ru

Репутация: 705
Репутация: 705
Сказал(а) спасибо: 605
Поблагодарили 577 раз(а) в 297 сообщениях
Топикстартер (автор темы) По умолчанию Hors, C++ класс для работы с ICQ

Hors, C++ класс для работы с ICQ

Класс для работы с ICQ (протокол OSCAR). Может быть кому-нибудь пригодится.

Класс написан с использованием чистого Windows API и поэтому программы на его основе имеют очень небольшой размер.

Функционал класса небольшой:
  • Логин к серверу ICQ
  • Смена статуса
  • Отправка сообщений
  • Приём сообщений

Но для решения простых задач, например написания ботов, он вполне подойдет. С его помощью к примеру была написана программа скрытого администрирования с управлением через ICQ.

Как использовать класс.


Объявить класс SICQ, а затем методом SetWindowsHandle() установить дескриптор окна, которое будет получать сообщения. Формат сообщений описан подробно в документации: http://hors.googlecode.com/files/Documentation.pdf
Обработчики этих сообщений необходимо реализовать самому. Для программистов имевших дело с чистым WinAPI и С/C++/assembler это не составит особого труда.

Важно: класс использует Windows Socket функции, поэтому перед использованием класса в программе нужно загрузить WinSocket Library:

PHP код:
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested MAKEWORD(22);
err WSAStartup(wVersionRequested, &wsaData);
if (
err != 0)
{
printf("WSAStartup failed with error: %d\n"err);
return 
1;

а по окончанию работы её выгрузить

PHP код:
WSACleanup(); 


Или же использовать _LoadWS, _UnloadWS из Net.h/Net.cpp

Пример использования класса: http://hors.googlecode.com/files/SimpleClient.zip

Отладка.


Если скомпилировать приложение на основе этого класса в отладочной конфигурации(DEBUG), то приложение во время своего выполнения будет слать отладчику отладочные сообщения. Например количество отосланных/принятых байт, типы пакетов, содержимое пакетов.

Например:

PHP код:
Close Socket
BOS Server connection
Create Socket
Connect
Server IP
64.12.25.162
Server port
5190
Recv 6
(6bytes
Recv 4
(4bytes
----------[recv]---------------
Packet Size 10(Abytes
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
__________________
Design
.thereal вне форума   Ответить с цитированием