ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 03.03.2010, 15:52
Аватар для Eff0rd
Eff0rd
Постоянный
Регистрация: 02.06.2009
Сообщений: 659
Провел на форуме:
4194004

Репутация: 859


Отправить сообщение для Eff0rd с помощью ICQ
По умолчанию

тоже когда то писал.. правда не свой клиент, а скрипты к mIRC. А пользуюсь всю жизнь голым мирцом)
 
Ответить с цитированием

  #22  
Старый 03.03.2010, 21:24
Аватар для BastardFromHell
BastardFromHell
Познающий
Регистрация: 05.02.2010
Сообщений: 59
Провел на форуме:
360122

Репутация: 41
По умолчанию

Цитата:
Сообщение от geezer.code  
зато свой.
нарисованные формы в делфи и компонент? прям ваще какой "свой"
 
Ответить с цитированием

  #23  
Старый 03.03.2010, 22:43
Аватар для AlexTheC0d3r
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

Цитата:
Сообщение от BastardFromHell  
нарисованные формы в делфи и компонент? прям ваще какой "свой"

это была моя первая более-менее серьезная программа...
 
Ответить с цитированием

По мне так норм... )
  #24  
Старый 04.03.2010, 06:18
Аватар для mr. ZetRikS
mr. ZetRikS
Познающий
Регистрация: 17.07.2009
Сообщений: 47
Провел на форуме:
131272

Репутация: 4
Smile По мне так норм... )

Цитата:
Сообщение от BastardFromHell  
нарисованные формы в делфи и компонент? прям ваще какой "свой"
В полне не плохо, разон только начинал... )

Или ты предлагаешь велосипед переписать?

Автор, мути апдейт с новым дизайном
Больше года прошло с релиза...

P.S. Ссылки дохлые...

Последний раз редактировалось mr. ZetRikS; 04.03.2010 в 06:20.. Причина: дохлые ссылки...
 
Ответить с цитированием

  #25  
Старый 04.03.2010, 07:42
Аватар для shell_c0de
shell_c0de
Reservists Of Antichat - Level 6
Регистрация: 07.07.2009
Сообщений: 324
Провел на форуме:
1585404

Репутация: 564
Отправить сообщение для shell_c0de с помощью ICQ Отправить сообщение для shell_c0de с помощью AIM
По умолчанию

Перезалей сорцы ...
 
Ответить с цитированием

  #26  
Старый 06.03.2010, 00:05
Аватар для MaTpOc
MaTpOc
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме:
10311449

Репутация: 1357


По умолчанию

ну так что никто не перезальет???
 
Ответить с цитированием

  #27  
Старый 06.03.2010, 08:26
Аватар для AlexTheC0d3r
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

я перезалью
щаас...

http://slil.ru/28751063
http://alexthec0d3r.3rss.ru/downloads/airc_s.zip - сорц

http://slil.ru/28751064
http://alexthec0d3r.3rss.ru/downloads/airc.zip - exe

Последний раз редактировалось AlexTheC0d3r; 06.03.2010 в 08:29..
 
Ответить с цитированием

  #28  
Старый 06.03.2010, 16:21
Аватар для Jingo Bo
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

Репутация: 15
По умолчанию

shell_c0de
TidIRC
 
Ответить с цитированием

  #29  
Старый 07.03.2010, 04:14
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

хехе, вспомнилась дллка, давно давно писаная - чтоб вывод в ирке был разноцветный =)

Код:
/*
*  XmasIRC patch for mIRC, ver 1.00
*  Copyright (c) 2004-2005, The BOXP Developers Team. All Rights Reserved.
*
*  Author: BD, sn0w at pc-r00m dot net  
*/

#include <winsock2.h>
#include <stdio.h>
#include "resource.h"

#define _MSG(s)	MessageBox(NULL, s, "debugFX", MB_OK|MB_ICONWARNING)
#define getrandom( min, max ) (( rand() % (int)((( max ) + 1 ) - ( min ))) + ( min ))

#define XMASIRC_MUTEX	"XMASIRC_MUTEX"


////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
void			PatchMainWindow(HANDLE hMod);
void			InterceptFunctions(void);
int	WSAAPI		Intercept_send(SOCKET s, const char FAR * buf, int len, int flags);

HANDLE hMutex;

#pragma pack(1)  //sn0w: 1 byte member structure alignment (got crash otherwise) =))
struct jmp_far
{
  BYTE instr_push;		//здесь будет код инструкции push
  DWORD arg;			//аргумент push
  BYTE  instr_ret;		//здесь будет код инструкции ret
};
#pragma pack()


BYTE old[6];			//область для хранения 6-ти затираемых байт начала функции
DWORD adr_send;			//будущий адрес оригинальной функции
DWORD written;			//вспомогательная переменная
jmp_far jump;			//здесь будет машинный код инструкции перехода


////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
BOOL APIENTRY DllMain( HANDLE hModule,  DWORD  ul_reason_for_call,
                       LPVOID lpReserved )
{
	// Если система подключает DLL к какому-либо процессу, 
	// она сначала вызовет главную функцию DLL с параметром 
	// DLL_PROCESS_ATTACH, на что мы сразу вызовем нашу функцию 
	// InterceptFunctions, которая произведет подмену стандартной API функции
	

	if(ul_reason_for_call == DLL_PROCESS_ATTACH){
					
			hMutex = CreateMutex(NULL, TRUE, XMASIRC_MUTEX);

			if(hMutex != (HANDLE)ERROR_ALREADY_EXISTS){
				InterceptFunctions();
				PatchMainWindow(hModule);
			}


	}else if(ul_reason_for_call == DLL_PROCESS_DETACH){
			ReleaseMutex(hMutex);
	}
  
  return TRUE;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
void InterceptFunctions(void)
{
  
  
  //сначала получим абсолютный адрес функции для перехвата
  adr_send = (DWORD)GetProcAddress(GetModuleHandle("ws2_32.dll"),
                    "send");
  
  if(adr_send == 0){
    _MSG("Cant get adr_send");
    return;
  }

  // Зададим машинный код инструкции перехода, который затем впишем 
  // в начало полученного адреса:

  // sn0w: (disassembly)
  // 
  //	push addr Intercept_send; ( push address to stack)
  //	ret ( pop eip from stack (fake call) )
  //
  // than i'll write this opcodes at the begin of send() in ws2_32 image in
  // memory space.

  jump.instr_push = 0x68;
  jump.arg = (DWORD)&Intercept_send;
  jump.instr_ret = 0xC3;

  //Прочитаем и сохраним первые оригинальные 6 байт стандартной API функции
  ReadProcessMemory(GetCurrentProcess(),(void*)adr_send, 
                    (void*)&old, 6, &written);

  

  //Запишем команду перехода на нашу функцию поверх этих 6-ти байт
  WriteProcessMemory(GetCurrentProcess(), (void*)adr_send, 
     (void*)&jump, sizeof(jmp_far), &written);
  
}



////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
void XmasBuild(char *sDest, char *sSource)
{
		
	char*	s_prefix = "PRIVMSG #antichat :";
	char	sTo[9000];
	int		ncnt = 0;
	
	while(*sSource){

		if(getrandom(1,10)>=5){
	
			sTo[ncnt++] = 0x03; //add color
			sprintf(&sTo[ncnt++], "%.2d", getrandom(1,14));  // foreground
			ncnt++;

		//	sprintf(&sTo[ncnt++], ",%d", getrandom(1,14)); // background
			sTo[ncnt++] = *sSource;
		}else{
			sTo[ncnt++] = 0x02; //add bold
			sTo[ncnt++] = *sSource;
		}
				
		sSource++;
	}

	sTo[ncnt] = 0;

	strcpy(sDest, s_prefix);
	strcat(sDest, sTo);

}



////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//

int	WSAAPI	Intercept_send(SOCKET s, const char FAR * buf, int len, int flags)
{
  //Сначала восстанавливаем 6 первых байт функции. Это не обязательное 
  // действие, просто мы решили подшутить над пользователем, и все 
  // сообщения функции MessageBoxA переделать на свои, поэтому нам придется
  // вызвать оригинальную функцию, а для этого следует восстановить ее адрес:
	
	int rc;
	char*	s_prefix = "PRIVMSG #antichat :";
	
	WriteProcessMemory(GetCurrentProcess(), (void*)adr_send, 
                     (void*)&old, 6, &written);

	//edit buffer...
	char editedbuf[9000];

	if(strncmp(buf, s_prefix, strlen(s_prefix))==0){
		XmasBuild(editedbuf, (char*)(buf+strlen(s_prefix)));
 		rc = ((int (WSAAPI*)(SOCKET, const char FAR *, int, int))adr_send)(s,editedbuf,strlen(editedbuf),flags);
		//rc = ((int (WSAAPI*)(SOCKET, const char FAR *, int, int))adr_send)(s,buf,len,flags);
		
	}else{
		rc = ((int (WSAAPI*)(SOCKET, const char FAR *, int, int))adr_send)(s,buf,len,flags);
	}

	//Снова заменяем  6 байт функции на команду перехода на нашу функцию
	WriteProcessMemory(GetCurrentProcess(), (void*)adr_send, 
                     (void*)&jump, 6,&written);


	//_MSG("WSAStartup()");
	return rc;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
void PatchMainWindow(HANDLE hMod)
{

	HWND hWnd;
	char s_buff[256];
	char s_total[512];

	hWnd = FindWindow("mIRC", NULL);

	if(!hWnd) // failed
		return; 

	GetWindowText(hWnd, s_buff, 255);

	strcpy(s_total, s_buff);
	strcat(s_total, " - xmasirc v 1.0 is in runtime now");

	SetWindowText(hWnd, s_total);

	HICON hIcon;

	hIcon = LoadIcon((HINSTANCE)hMod, MAKEINTRESOURCE(IDI_MIRCICON));

	if(!hIcon)
		_MSG("Cant load icon");

	SendMessage(hWnd, WM_SETICON, ICON_SMALL,
		(LPARAM)hIcon);

	UpdateWindow(hWnd);

	
}
__________________


snow white world wide
 
Ответить с цитированием

  #30  
Старый 19.03.2010, 20:54
Аватар для MaTpOc
MaTpOc
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме:
10311449

Репутация: 1357


По умолчанию

Цитата:
Сообщение от AlexTheC0d3r  
я перезалью
щаас...

http://slil.ru/28751063
http://alexthec0d3r.3rss.ru/downloads/airc_s.zip - сорц

http://slil.ru/28751064
http://alexthec0d3r.3rss.ru/downloads/airc.zip - exe
не работает!
пишу ник и пас и виснет намертво (((
раньше такого не было (!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Irc, добро пожаловать на #antichat madnet Авторские статьи 109 17.06.2010 20:45
Команды Irc. И его сервисы! XDoG Статьи 12 24.06.2009 08:21
Irc канал #antichat OwrLam Болталка 33 19.09.2004 20:34



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ