[Ссылки могут видеть только зарегистрированные пользователи. ] по моему то что нам всем нужно.) Кто более знающий, не разобрались ещё? Помогите разобраться пожалуйста в ЛС с этим. Может эту java можно в newxor.dll перевести?
[Ссылки могут видеть только зарегистрированные пользователи. ] по моему то что нам всем нужно.) Кто более знающий, не разобрались ещё? Помогите разобраться пожалуйста в ЛС с этим. Может эту java можно в newxor.dll перевести?
В воскресенье приеду домой будим копать в эту сторону.
Судя по всему нужно или ждать пока для ph сделают новый протокол,или самому делать это.
Во всяком случии щас есть свободное время скачаю исходники сервера и пх и буду смотреть изменения.
Последний раз редактировалось Koka90; 22.12.2011 в 13:01.
Причина: Случайно капс не заметил,пришлось переписывать.
судя по всему в этих файлах и лежит алгорит кодировани и декодирования пакетов
и еще алгоритм обфускации
согласно им и нужно создавать newxor.dll
кто поможет с компиляйией дллки?
Саму делку собрать не проблема,в воскресенье или понедельник вечером приеду домой соберу.
Ты мне главное исходник скинь в скайп.
p.s.А я щас копаюсь в исходниках пх ищу где старый алгоритм для 2.1-2.5 лежит.
Там по идее его легче будит подправить чем новый newrox делать.
Вот к примеру исходники [Ссылки могут видеть только зарегистрированные пользователи. ].
Информацию взяла с [Ссылки могут видеть только зарегистрированные пользователи. ]
Добавлено через 2 минуты
Цитата:
Сообщение от Koka90
Саму делку собрать не проблема,в воскресенье или понедельник вечером приеду домой соберу.
Ты мне главное исходник скинь в скайп.
p.s.А я щас копаюсь в исходниках пх ищу где старый алгоритм для 2.1-2.5 лежит.
Там по идее его легче будит подправить чем новый newrox делать.
Может тебе это поможет. Сама не очень сильно разбираюсь. Но если помочь разобраться.
Последний раз редактировалось martiniFresh; 23.12.2011 в 11:31.
Причина: Добавлено сообщение
________________ подполье Аион - для суровых подпольщиков
Восстановлена работоспособность одного из лучших радаров для Аион. Спасибо автору(ам) =)
Path of Exile - в настоящее время там.
ссылки на исходники пакетхака, в них есть и исходники newxor.dll
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
ссылки на серверныескрипты шифровани, дешифрования и в них еще алгоритм обфускации хз нада на него смотреть или нет.
[Ссылки могут видеть только зарегистрированные пользователи. ]
тут можно глянуть разницу в серверных скриптах для 2.7 и предыдущих версий.
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
да можно и не писать newxor.dll - можно подправить вшитый в l2ph протокол работы для aion
Последний раз редактировалось manyunya; 23.12.2011 в 15:40.
Ну это я еще вчера скачал,щас если чесно думал поискать исходники сервера для 2.1.
На щет того что-бы подправить просто протокол в самом пх а не в дллке то тут не должно быть проблем.
Как по мне то если делать то сразу на совесть.
Если мне не изменяет память то в новых версиях пх доступны на выбор aion2.1 aion2.5,вот сдесь уже нужно искать где они и добавлять сразу 2.7.
Если найдете место где они сообщите сдесь,а я покамись буду искать исходники сервера 2.1 и потом сюда выложу отличия в EncryptionKeyPair.java
function CreateCoding(Value:PCodingClass): HRESULT; stdcall;
begin
Result:=0;
try
Value^:=TXorCoding.Create;
except
Result:=-1;
Value^:=nil;
end;
end;
function CreateCodingOut(Value:PCodingClass): HRESULT; stdcall;
begin
Result:=0;
try
Value^:=TXorCodingOut.Create;
except
Result:=-1;
Value^:=nil;
end;
end;
exports CreateCoding, CreateCodingOut;
{ TXorCoding }
constructor TXorCoding.Create();
begin
FillChar(GKeyS[0],SizeOf(GKeyS),0);
FillChar(GKeyR[0],SizeOf(GKeyR),0);
keyLen := 0;
End;
procedure TXorCoding.DecryptGP(var Data; const Size: Word);
var
k:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
for k:=size-1 downto 1 do
pck[k]:=pck[k] xor GKeyR[k and keyLen] xor pck[k-1];
if size<>0 then pck[0]:=pck[0] xor GKeyR[0];
Inc(PLongWord(@GKeyR[keyLen-7])^,size);
end;
procedure TXorCoding.EncryptGP(var Data; const Size: Word);
var
i:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
if size<>0 then pck[0]:=pck[0] xor GKeyS[0];
for i:=1 to size-1 do
pck[i]:=pck[i] xor GKeyS[i and keyLen] xor pck[i-1];
Inc(PLongWord(@GKeyS[keyLen-7])^,size);
end;
procedure TXorCoding.InitKey(const XorKey; Interlude: Boolean = False);
const
KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
KeyIntrl: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);
var key2:array[0..15] of Byte;
begin
if Interlude then begin
keyLen:=15;
Move(XorKey,key2,8);
Move(KeyIntrl,key2[8],8);
end else begin
keyLen:=7;
Move(XorKey,key2,4);
Move(KeyConst,key2[4],4);
end;
Move(key2,GKeyS,16);
Move(key2,GKeyR,16);
end;
{ TXorCodingOut }
constructor TXorCodingOut.Create;
begin
FillChar(GKeyS[0],SizeOf(GKeyS),0);
FillChar(GKeyR[0],SizeOf(GKeyR),0);
keyLen := 0;
end;
procedure TXorCodingOut.DecryptGP(var Data; const Size: Word);
var
k:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
for k:=size-1 downto 1 do
pck[k]:=pck[k] xor GKeyR[k and keyLen] xor pck[k-1];
if size<>0 then pck[0]:=pck[0] xor GKeyR[0];
Inc(PLongWord(@GKeyR[keyLen-7])^,size);
end;
procedure TXorCodingOut.EncryptGP(var Data; const Size: Word);
var
i:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
if size<>0 then pck[0]:=pck[0] xor GKeyS[0];
for i:=1 to size-1 do
pck[i]:=pck[i] xor GKeyS[i and keyLen] xor pck[i-1];
Inc(PLongWord(@GKeyS[keyLen-7])^,size);
end;
procedure TXorCodingOut.InitKey(const XorKey; Interlude: Boolean);
const
KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
KeyIntrl: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);
var key2:array[0..15] of Byte;
begin
if Interlude then begin
keyLen:=15;
Move(XorKey,key2,8);
Move(KeyIntrl,key2[8],8);
end else begin
keyLen:=7;
Move(XorKey,key2,4);
Move(KeyConst,key2[4],4);
end;
Move(key2,GKeyS,16);
Move(key2,GKeyR,16);
end;