Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 19.05.2009, 21:32   #12
Местный
 
Аватар для pmen
 
Регистрация: 16.05.2009
Сообщений: 129
Сказал Спасибо: 66
Имеет 62 спасибок в 34 сообщенях
pmen пока неопределено
По умолчанию

как я понял значит если запретить прием пакета на атаку это не изменит игровой процесс!? Просто мой клиент не будет отобпражать это действие?Вот я набрасал скрипт
Цитата:
var
SocialAction:string;
begin
if FromClient and (pck=#$2D) then SocialAction:=pck; //назначаем переменной SocialAction содержимое пакета. условие проходим когда пакет равен #$2D. (полный пакет.. а не первый его байт. тобишь это условие выполнятся не будет никогда. ибо пакет социального действия по длине больше 1 байта.)

if FromClient and (pck=SocialAction) then //сюда мы будем попадать если пакет идет от клиента и он равен SocialAction. из за ошибки в логике выше - мы сюда будем попадать при пустых пакетах от клиента, ибо переменная SocialAction по умолчанию равна пустому значению, а сама переменная SocialAction никогда не назначается.
begin
if (pck< >'#$05') then //внутрь мы попадем если пакет не равен строке '#$05'... если мы прошли предыдущее условие внутрь мы попадем, т.к. врядли пакет в строковом представлении будет равен этому значению.
if FromServer and (pck[1]=#$05) then //а сюда мы точно никогда не попадем.. т.к. пред-предыдущее условие мы можем пройти только при пакете от клиента. а тут противоположное ему условие.
pck:=''; //обнуляем пакет.
end;
end.
//alexteam: расписал логику в твоем скрипте... ошибки поймеш сам..
на будущее.
в начале тела скрипта (обрабатывающей пакеты части) неплохо бы ставить
if pck = '' then exit;
это исключит попытку обработать "пустышки" в ревизия пакетхака ниже 81й.
pck[1] - первый байт пакета, его идентификатор. (packetsxxx.ini)
все остальное pck[2..length(pck)-1] - тело пакета, его данные. длинна pck и соответственно данных - зависит от типа пакета, тобишь pck[1]
судя по скрипту ты еще не вынес для себя то что pck это строка которая является по определению массивом, первым элементом которого является идентификатор пакета, а последующие (если они имеются) - данными.
рекомендую порыскать по тырнету в поисках информации по массивам и организации строковых типов.
или просто уяснить что строка = динамически расширяемый массив символов.
string = array of char;

Последний раз редактировалось alexteam, 19.05.2009 в 22:15. Причина: Добавлено сообщение
pmen вне форума   Ответить с цитированием
 

  CoderX :: Forums > Lineage II > L2PacketHack



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:01.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!