PDA

Просмотр полной версии : Walker через L2PacketHack


Denis63RUS
25.04.2008, 14:18
Добрый день всем. Сразу скажу что пользоваться программкой и писать скрипты стал недавно, и не всё ещё понимаю, но читая этот форум впринципе можно почти во всём разобраться:)
Но до одного не смог дойти, и помоему не самого сложного:), как запустить Walker через L2PacketHack? Дело в том что пользуюсь я валкером 10.8.6, он конектиться на сервер через верификатор WP 5.07f, для обхода защиты на серваке, на гейм порт сервера вешается скрипт, естестественно, что бы повесить этот скрипт, трафик с валкера идёт через прокси (127,0,0,1::1777). Валкер без L2PacketHack естественно запускается на ура, но с ним ни как не могу загрузится, получается что если я запускаю через L2PacketHack, то скрипт для обхода защиты не подключается! Подскажите плиз как решается эта проблемма!

ad01f
25.04.2008, 14:41
зачем тебе еще и пакетхак если впф включает в себя его функциональность

Pahan
25.04.2008, 14:45
Если я вас правильно понял, то поставьте чтобы L2PacketHack совершал конект не на бота а на WP 5.07f, для этого просто добавьте WP507F.exe в настройках L2PacketHack.

xkor
25.04.2008, 18:44
для этого просто добавьте WP507F.exeтогда уж и валкера убрать от туда надо а то обоих перехватывать нехорошо
ЗЫ а что мешает перенести скрипт из WP в пакетхак и работать только с пакетхаком?)

Denis63RUS
25.04.2008, 18:54
тогда уж и валкера убрать от туда надо а то обоих перехватывать нехорошо
ЗЫ а что мешает перенести скрипт из WP в пакетхак и работать только с пакетхаком?)

Спасиба всем за советы, мысль на счёт переноса скрипта действительно хорошая, тока вот у меня никак не получается:(
Если кому не сложно перепишите, вот скрипт:

const
RequestManorList = HStr('0500D00800');

BEGIN

// Заменяем неправельный пакет EnterWorld пакетом RequestManorList
if (not _gFromServ) and StrCmp(_gBuff[3],#$03) then begin
_gOutBuff := RequestManorList;
end;

// после того как полчили ответ на RequestManorList отправляем правельный пакет EnterWorld
if (_gFromServ) and StrCmp(_gBuff[3],#$FE) then
if _gAbsNumPkt = 9 then begin //загвоздка возникла у меня с этой строчкой, никак не могу догнать как её воплотить!
gSys.EnSendS(HStr('6B00030000000000000000000000000 0000000C9BCF2A7665A0B9836A5BD89ED7FE4D76B49E29FEF7 6EBCEA3FAF4BF0C64A3B4A4CEDCC6083E6EEA45CAD3FE88138 7B8062C96F09B1E8EBCC69B98C86316CFD0290000000000000 000000000000000000000000000000000'));
end;

END.

NLObP
26.04.2008, 04:32
if _gAbsNumPkt = 9 then begin //загвоздка возникла у меня с этой строчкой, никак не могу догнать как её воплотить!
_gAbsNumPkt :int - абсолютный номер пакета, нумеруется с 1.

По всей видимости надо включать скрипт до соединения с сервером и вести подсчет всех пакетов от сервера.
Типа такого:
var
AbsNumPkt :integer;

procedure Init;
begin
AbsNumPkt:=0;
end;
begin
if FromServer then begin
inc(AbsNumPkt);
if AbsNumPkt=9 then SendToServer((HStr('6B0003000000000000000000000000 0 0000000C9BCF2A7665A0B9836A5BD89ED7FE4D76B49E29FEF7 6EBCEA3FAF4BF0C64A3B4A4CEDCC6083E6EEA45CAD3FE88138 7B8062C96F09B1E8EBCC69B98C86316CFD0290000000000000 000000000000000000000000000000000'));
end;
end.

xkor
26.04.2008, 13:43
NLObP, тут одна проблема, твой скрипт будет работать тока если через пакетхак один валкер заходит, а если 2 и более то жопа будет...

NLObP
26.04.2008, 14:49
ну, да. для нескольких чаров это уже нужно исходники править, чтобы как в Wpp было.

xkor
26.04.2008, 16:10
NLObP, ну почемуже, можно и скрипт поправить)

NLObP
26.04.2008, 17:47
что-то не представляю как это сделать. по Id соединения?

xkor
26.04.2008, 20:57
NLObP, угу, но можно и проще, просто вместо
procedure Init;
написать
procedure OnConnect(WithClient: Boolean);
и это даст возможность конектиться нескольким валкером, но правда не одновременно, второго валкера можно начинать конектить тока после того как первый пройдёт дальше 9го пакета...

Denis63RUS
27.04.2008, 12:20
всем спасиба, но наверно ничего не получится:) дело в том что скрипт должен начинать работать тогда когда происходит конект на гейм сервер, а этот скрипт будет начинать работать при подключении к логин серверу, если делать через имя чара, то тоже не получится, т.к. это уже будет не первый пакет (вроде бы, наверно второй). но остаётся самый простой способ это добавить впп в список программ!

Pahan
27.04.2008, 13:19
Народ помогите пожалуста. Надо переделать на прогу Саурона в FS
begin
if FromClient and (pck[1]=#$0F) then pck:=pck+#$01#$00#$00#$00;
end.

Вот что написал сам
begin
if (not _gFromServ) and StrCmp(copy(_gBuff,1,3), HStr('1F 00 0F')) then
_gOutBuff := _gBuff + #01+#00+#00+#00;
end.
Вообщем дело такое, меняет первый пакет а потом клиент перестаёт обращать внимание на команды, но в тоже время соединение не обрывается.

xkor
27.04.2008, 14:29
Denis63RUS, вообщето OnConnect происходит при каждом коннекте и к логину и к гейму так что всё будет норм)

NLObP
27.04.2008, 15:33
Народ помогите пожалуста. Надо переделать на прогу Саурона в FS
begin
if FromClient and (pck[1]=#$0F) then pck:=pck+#$01#$00#$00#$00;
end.

Вот что написал сам
begin
if (not _gFromServ) and StrCmp(copy(_gBuff,1,3), HStr('1F 00 0F')) then
_gOutBuff := _gBuff + #01+#00+#00+#00;
end.
Вообщем дело такое, меняет первый пакет а потом клиент перестаёт обращать внимание на команды, но в тоже время соединение не обрывается.

Ты не на том форуме спрашиваешь. Если бы в пакетхак переводить, тогда еще можно голову ломать, а обратно...

Pahan
27.04.2008, 16:10
Ты не на том форуме спрашиваешь. Если бы в пакетхак переводить, тогда еще можно голову ломать, а обратно...

Ну я понимаю может просто кому не сложно. А то я вообще не понимаю в чём дело:(

NLObP
27.04.2008, 17:00
Ну я понимаю может просто кому не сложно. А то я вообще не понимаю в чём дело:(

Из того, что ты дал, как то они не стыкуются между собой.
Побольше информации дай.

Amon Ra
27.04.2008, 23:38
Народ помогите пожалуста. Надо переделать на прогу Саурона в FS
begin
if FromClient and (pck[1]=#$0F) then pck:=pck+#$01#$00#$00#$00;
end.

Вот что написал сам
begin
if (not _gFromServ) and StrCmp(copy(_gBuff,1,3), HStr('1F 00 0F')) then
_gOutBuff := _gBuff + #01+#00+#00+#00;
end.
Вообщем дело такое, меняет первый пакет а потом клиент перестаёт обращать внимание на команды, но в тоже время соединение не обрывается.

для wpf ppc вроде этот скрипт ?
скрипт из wpf650, а в публичном wpf655 его уже нету наверное забыли добавить


// demo_0F.fsc выправление пакета на движение на Камаель.
begin
if length(_gBuff) < 3 then exit;
if (not _gFromServ) and (_gBuff[3] = #$0F) then begin
_gOutBuff := _gBuff + HStr('01 00 00 00');
_gOutBuff[1] := chr(ord(_gOutBuff[1])+4);
end;
end.

Amon Ra
27.04.2008, 23:54
// demo_0F.fsc выправление пакета на движение на Камаель.
begin
if length(_gBuff) < 3 then exit;
if (not _gFromServ) and (_gBuff[3] = #$0F) then begin
_gOutBuff := _gBuff + HStr('01 00 00 00');
_gOutBuff[1] := chr(ord(_gOutBuff[1])+4);
end;
end.

8tomat8
21.11.2009, 15:58
, трафик с валкера идёт через прокси (127,0,0,1::1777).

я просто отключаю прокси в валкере и все замечательно сразу идет через PHX )