L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
Is last packet send from server new IP of gameserver?
Look at this
Код:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
procedure HexToBuff(hex:string);
var
a : integer;
convert : string;
begin
Packet.Size := length(hex) div 2;
for a := 0 to (length(hex) div 2)-1 do begin
convert := '$'+hex[a*2+1]+hex[a*2+2];
if length(convert) = 3 then begin
Packet.Buff[a] := strtoint(convert);
end;
end;
end;
var
hexi : string;
LastRecv: Byte;
begin
try
Athread.Connection.ReadBuffer(ReadPacket.Buff, 2);
LastRecv := ReadPacket.Buff[0];
with ReadPacket do begin
if Buff[0] = $2A then Size := 40;
if Buff[0] = $B2 then Size := 176;
if Buff[0] = $22 then Size := 32;
end;
Athread.connection.readbuffer(ReadPacket.Buff, ReadPacket.Size);
if LastRecv = $2A then begin
AThread.Connection.Socket.ConnectClient('127.0.0.1', 7777, '127.0.0.1', 5000, 7000, 8000, -1);
hexi := '2a00';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, 2);
hexi := 'ed415416247fca586b8aae0f9be333f26b8aae0f9be333f250f180c7377d74332cb8c2612b3a276f';
HexToBuff(hexi);
AThread.connection.WriteBuffer(Packet.Buff, Packet.Size);
end;
if LastRecv = $B2 then begin
hexi := '4200';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, 2);
hexi := '55dd3d3055c522dc463fdbb18cde12f24f868881fa4ca0f26b8aae0f9be333f26b8aae0f9be333f26b8aae0f9be333f27efcd76091496db7cba401fb92a9f292';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, Packet.Size);
end;
if LastRecv = $22 then begin
if id > 0 then begin
hexi := '1a00';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, 2);
hexi := 'ac7e71085ab4f4a8e7d6e19085ab0b41a789810517b1e0c4';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, Packet.Size);
log.lines.add('done..');
exit;
end;
hexi := '9200';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, 2);
hexi := 'ee32e6c07b0975d5880a69d3dcf213033c6959a0663fbee2b020b24398ef85ccf862'+
'1ed708b8a388e56b5a84ba92b9de0ad1a9b706ec7a5c06afff3b04c234e59855282e443ff830d5948c3ed6febbe5339bdc40b54ae3f983fcdbc7c6572e9c446c0930c2fe54eecf848e1ccdbf86acae734bf0593877319e530c3a99fbe7354a1d470a0fb042c74e3cd4003f497581';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, Packet.Size);
id := id +1;
end;
except
log.lines.add('except dc');
athread.connection.disconnect;
end;
end;
This one is last packet sent
Код:
if id > 0 then begin
hexi := '1a00';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, 2);
hexi := 'ac7e71085ab4f4a8e7d6e19085ab0b41a789810517b1e0c4';
HexToBuff(hexi);
Athread.Connection.WriteBuffer(Packet.Buff, Packet.Size);
log.lines.add('done..');
exit;
end;
How can i redirect client to GameServer after this? Or as i said last packet include IP and port?
Последний раз редактировалось kargo, 05.05.2010 в 18:45.
Btw. im trying to write server emu not client :P for my own experience
Добавлено через 13 часов 55 минут
I found that la2 client emu, but its not prepared even for Interlude, however i found there some very useful informations about structure :P
But how it works on CT2? Init packet got 186 bytes. So way that i get RSA key is : decrypt with BF, find key in packet? or xor also?:P And where exacly is this key alocate? In that client i can see its 12th byte, was that changed in CT2?
Последний раз редактировалось kargo, 06.05.2010 в 15:51.
Причина: Добавлено сообщение
Well, my loginserver works fine.. i mean fine, but w/o RSA yet.
When i try to decrypt my buff using LockBox, i got msg block re not correct. Anyway im working all the time with it, anyone know better way to decrypt it?