Показать сообщение отдельно
Старый 07.12.2008, 13:23   #23
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от DjSeNseI Посмотреть сообщение
ну а вдруг кто нибудь поможет. Я и сам в принцепи пробую разобраться со блушишем и чек суммой. но пока как то не очень у мя есть 3 разных чексуммы и ни одна не хочет работь и так же блюфишь...

Добавлено через 3 минуты
И ещё кто нибудь знает с4 яву сборку с плохой защитой для эксперементов. Кто знает скажите название или адрес... Пожалуйста
Я это к тому, что по тому куску, что ты выложил много не понятно, что в нём делается.
Могу посоветовать локальный С4 сервер, тренеруйся сколько влезет.

Вот, я как то пробовал делать:
delphi Код:
function pkt_ckecksum(pos: integer; count: integer):cardinal; var   i, j : integer;   crc, chksum : longint; begin   j:=pos; //начало для подсчета контрольной суммы   crc:=0;   chksum:=0;         for i:=0 to (count div 4) do //длину считаем блоками по 4   begin                 crc:=PacketB[j];                 crc:=crc or (PacketB[j+1] shl 8);                 crc:=crc or (PacketB[j+2] shl 16);                 crc:=crc or (PacketB[j+3] shl 24);         chksum := chksum xor crc;     j:=j+4;   end;   //move(chksum,PacketB[count+pos],4);   result:=chksum; end; procedure build_RequestAuthLogin(); begin   //pos начинается с 0!!!   InitPkt; //инициализируем пакет   WriteW($32); //"\x32\x00" - длина пакета постоянна и равна 0x30 + 0x02   WriteID($00); //"\x00" - тип пакета (0x00 - RequestAuthLogin)   {pos:=$03;}   WriteS(DefaultAccount); //"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - login   pos:=$11; WriteS(DefaultPassword); //"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - password   pos:=33; WriteB($08); //"\x08" - означает конец секции login/password //  WriteD($0); //"\x00\x00\x00\x00\x00\x00\x00\x00" - в c3 не применяется (зарезервированно?) //  WriteD($0); //   pos:=$2a; WriteD(pkt_ckecksum(2,40)); // чексумма   WriteD($0); //"\x00\x00\x00\x00";   //к.сумма считается для блока начиная со смещ. 2, длиной 40 байт //  add_ckecksum(2,40); end;

PS: придумал не сам, брал из материалов на разных сайтах.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 07.12.2008 в 13:31.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от: