Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 17.06.2009, 21:48   #6
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
GoldFinch пока неопределено
По умолчанию

вот так выглядит алгоритм шифрования абисса:

Код:
// код C++

#pragma pack(push,2)
	struct packetbuf
	{
		unsigned short length;
		char data[USHRT_MAX+1-2];
	};
#pragma pack(pop)

class XorcryptManipulator
{
public:
	XorcryptManipulator(){}
	void Initialize(int key_lo,int key_hi);
	opacketstream& operator() ( opacketstream& pout );
	ipacketstream& operator() ( ipacketstream& pin );
private:
	__int64 key_in;  //key for input stream
	__int64 key_out; //key for output stream
};


opacketstream& bot::XorcryptManipulator::operator()( opacketstream& pout )
{
	packetbuf& buf=pout.buffer();	
	union
	{
		__int64 key;
		char bytes[8];
	} k2;
	k2.key=key_out;
	
	char k;
	buf.data[0] ^= k2.bytes[0];
	for (int i=1;i<buf.length;++i,buf.data[i-1]^=k)
		k=k2.bytes[i&7] ^ buf.data[i-1];

	key_out += buf.length;
	return pout;
}

ipacketstream& bot::XorcryptManipulator::operator()( ipacketstream& pin )
{
	packetbuf& buf=pin.buffer();	
	union
	{
		__int64 key;
		char bytes[8];
	} k2;
	k2.key=key_in;

	char k=buf.data[0];
	buf.data[0] ^= k2.bytes[0];
	for(int i=1;i<buf.length;++i)
	{
		char t=buf.data[i];
		buf.data[i]^=k^k2.bytes[i&7];
		k=t;
	}

	key_in += buf.length;
	return pin;
}

void bot::XorcryptManipulator::Initialize( int key_lo,int key_hi )
{
	union
	{
		__int64 key;
		struct
		{
			int lo;
			int hi;
		};
	} k;
	k.lo=key_lo;
	k.hi=key_hi;
	key_in=k.key;
	key_out=k.key;
}
GoldFinch вне форума   Ответить с цитированием
За это сообщение GoldFinch нажился спасибкой от:
 

  CoderX :: Forums > Основные форумы > Программинг


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 06:45.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!