Разработка Раздел для совместной разработки/доработки программы
22.08.2008, 02:28
#1
Рыцарь
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
Цитата:
Сообщение от
xkor
шо ещё за рефакторинг??
и какое это отношение имеет к вызову скриптов???
Ну, может неправильно обозвал. У тебя там через три п. вызов был, я укоротил.
delphi Код:
...
procedure ExecuteScripts( var msg: TMessage) ; Message WM_ExecuteScripts;
...
procedure TL2PacketHackMain.ExecuteScripts ( var msg: TMessage) ;
var
i: Integer ;
packet: string ;
FromServer: boolean ;
id: byte ;
begin
packet:=pstr( msg.WParam ) ^;
FromServer:=Boolean ( msg.LParamLo ) ;
id:=msg.LParamHi ;
SetCurrentDir ( ExtractFilePath ( ParamStr ( 0 ) ) ) ;
EnterCriticalSection( _cs) ;
for i:=0 to CheckListBox2.Count -1 do begin
if CheckListBox2.Checked [i] then begin
Scripts[i].fsScript .Variables ['pck' ]:=packet;
Scripts[i].fsScript .Variables ['ConnectID' ]:=id;
Scripts[i].fsScript .Variables ['ConnectName' ]:=Thread[id].Name ;
Scripts[i].fsScript .Variables ['FromServer' ]:=FromServer;
Scripts[i].fsScript .Variables ['FromClient' ]:=not FromServer;
Scripts[i].fsScript .Execute ;
packet:=Scripts[i].fsScript .Variables ['pck' ];
end ;
end ;
LeaveCriticalSection( _cs) ;
end ;
...
procedure PacketProcesor( PacketData: array of Byte ; SendSocket: TSocket; id, From: Byte ) ;
...
//>>>>>>>>!!!!!!!!!<<<<<<<<
//пакет от сервера - клиенту
a.a :=Word ( true ) ;
a.b :=id;
SendMessage( L2PacketHackMain.Handle , WM_ExecuteScripts, Integer ( @temp) ,a.ab ) ;
//>>>>>>>>!!!!!!!!!<<<<<<<<
...
end ;
За это сообщение NLObP нажился спасибкой от:
22.08.2008, 09:45
#2
Пользователь
Регистрация: 04.02.2008
Сообщений: 63
Сказал Спасибо: 44
Имеет 25 спасибок в 15 сообщенях
Цитата:
Сообщение от
NLObP
[+] в расшифровке пакетов смещение значений теперь в HEX для выравнивания;
А для чего так? Разве не удобнее было подставлять в Read и Write значения смещения в десятичной системе? Как теперь правильно надо писать? 0x02, 0x06, 0x0A?..
22.08.2008, 11:44
#3
Новичок
Регистрация: 22.08.2008
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Присваиваю переменной pck пустой пакет, но пакет на сервер отправляется без изменений, а хотелосьбы чтобы при обнулении пакета он на сервер не отправлялся.
Пример кода:
if FromClient and (pck=HStr('34 0B 00 00 00')) then // Социальное действи "Аплодисменты"
begin
// Требуемые действия
pck := '';
exit;
end;
В результате этого кода персонажь выполняет соц. действие "Аплодисменты".
22.08.2008, 12:51
#4
Рыцарь
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
Цитата:
Сообщение от
AlexS
if FromClient and (pck=HStr('34 0B 00 00 00')) then // Социальное действи "Аплодисменты"
begin
// Требуемые действия
pck := '';
exit;
end;
В результате этого кода персонажь выполняет соц. действие "Аплодисменты".
так пакет отправляется на сервер, или перс выполняет соц действие?
по просмотру смотрите, а не в окно клента/бота.
22.08.2008, 12:48
#5
Пользователь
Регистрация: 04.02.2008
Сообщений: 63
Сказал Спасибо: 44
Имеет 25 спасибок в 15 сообщенях
Да, только что тоже столкнулся с такой же неприятностью.
22.08.2008, 12:56
#6
Пользователь
Регистрация: 04.02.2008
Сообщений: 63
Сказал Спасибо: 44
Имеет 25 спасибок в 15 сообщенях
Я в своём скрипте убиваю пакет от сервера, но он всё равно приходит клиенту. От клиента к серверу тоже доходят убиваемые мной команды в чат, к примеру.
Последний раз редактировалось Emocean, 22.08.2008 в 13:00 .
23.08.2008, 02:15
#7
Рыцарь
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
Цитата:
Сообщение от
Emocean
Я в своём скрипте убиваю пакет от сервера, но он всё равно приходит клиенту. От клиента к серверу тоже доходят убиваемые мной команды в чат, к примеру.
Нашёл ошибку. Сейчас выложу.
3.3.2 от 23.08.2008
[+] исправил - В скрипте убиваю пакет от сервера, но он всё равно приходит клиенту;
Выложил исходники для сомневающихся.
Код:
Файл l2phx332_by_NLObP.rar получен 2008.08.22 23:03:24 (CET)
Текущий статус: закончено
Результат: 7/35 (20%)
Форматированные
Печать результатов Антивирус Версия Обновление Результат
AhnLab-V3 2008.8.21.0 2008.08.22 -
AntiVir 7.8.1.23 2008.08.22 TR/ATRAPS.Gen
Authentium 5.1.0.4 2008.08.22 -
Avast 4.8.1195.0 2008.08.22 -
AVG 8.0.0.161 2008.08.22 PSW.OnlineGames.AYSO
BitDefender 7.2 2008.08.22 -
CAT-QuickHeal 9.50 2008.08.22 TrojanPSW.OnLineGames.rymz
ClamAV 0.93.1 2008.08.22 -
DrWeb 4.44.0.09170 2008.08.22 -
eSafe 7.0.17.0 2008.08.21 -
eTrust-Vet 31.6.6040 2008.08.22 -
Ewido 4.0 2008.08.22 -
F-Prot 4.4.4.56 2008.08.21 -
F-Secure 7.60.13501.0 2008.08.22 -
Fortinet 3.14.0.0 2008.08.22 -
GData 2.0.7306.1023 2008.08.20 -
Ikarus T3.1.1.34.0 2008.08.22 -
K7AntiVirus 7.10.425 2008.08.22 Trojan-PSW.Win32.OnLineGames.rymz
Kaspersky 7.0.0.125 2008.08.22 -
McAfee 5368 2008.08.22 -
Microsoft 1.3807 2008.08.22 -
NOD32v2 3381 2008.08.22 -
Norman 5.80.02 2008.08.22 -
Panda 9.0.0.4 2008.08.22 Suspicious file
PCTools 4.4.2.0 2008.08.22 -
Prevx1 V2 2008.08.22 -
Rising 20.58.42.00 2008.08.22 -
Sophos 4.32.0 2008.08.22 Mal/Behav-053
Sunbelt 3.1.1571.1 2008.08.22 -
Symantec 10 2008.08.22 -
TheHacker 6.3.0.6.058 2008.08.22 -
TrendMicro 8.700.0.1004 2008.08.22 -
ViRobot 2008.8.22.1346 2008.08.22 -
VirusBuster 4.5.11.0 2008.08.22 -
Webwasher-Gateway 6.6.2 2008.08.22 Trojan.ATRAPS.Gen
Дополнительная информация
File size: 755566 bytes
MD5...: 590274aaf8ad38ca15e6501fde5ea564
SHA1..: d859ca82d6d07904c87a1739df2ca797a5b82187
SHA256: d15c266c59dd4e191f2cf88be20c2296a0314fce507c2231af28c7314208b259
SHA512: 7b0dc57b0566c8e4351067d795a1c2624d345e28b9d64944f747fb0c2a3c89c2
93d34d9abbf4d519396447426552b4575a3f9f6131cb2f49a6db4b297e1cc467
Добавлено через 22 минуты
Цитата:
Сообщение от
Emocean
А для чего так? Разве не удобнее было подставлять в Read и Write значения смещения в десятичной системе? Как теперь правильно надо писать? 0x02, 0x06, 0x0A?..
Это чтобы не делать выравнивание. В Hex все время 4 символа. А писать наверно надо $02, $06, $0A или в калькуляторе(уме) в десятичное перевести.
Последний раз редактировалось NLObP, 23.08.2008 в 02:16 .
Причина: Добавлено сообщение
За это сообщение NLObP нажился 2 спасибками от:
22.08.2008, 15:27
#8
Новичок
Регистрация: 22.08.2008
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
В том то все и дело что на сервер после "обнуления" отправляется нормальный пакет а не нулевой, а в скрипте он является нулевым.
pck:='';
if (pck='') then exit;
по if выйду из скрипта но не обнуленный пакет будет отправлен на сервер.
Добавлено через 6 минут
В версиях 3.1.8-3.2.0 с данной проблемой не сталкивался.
Последний раз редактировалось AlexS, 22.08.2008 в 15:27 .
Причина: Добавлено сообщение
22.08.2008, 16:12
#9
Пользователь
Регистрация: 04.02.2008
Сообщений: 63
Сказал Спасибо: 44
Имеет 25 спасибок в 15 сообщенях
В 3.3.0 вроде тоже норм было.
22.08.2008, 22:28
#10
Рыцарь
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
NLObP , проверь 3.3.0 чёта снова троян говорит на 3.3.1 не ругается
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 08:08 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!