Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Защита JAVA серверов/Зашита От Анонсов Через L2phx
Search

Зашита От Анонсов Через L2phx

47 replies1,857 viewsCurrently viewing: 1
Алексей
Алексей

User

Бывалый

Posts: 115

На форуме с: 01/17/2008

Репутация: +205

Рейтинг: 0

· 06/20/2008, 07:52 PM

Вообшем на сборках L2emu, Free и тд, есть такая проблема как анонсы через пакет хак, всякие придурки пишут в анонсы всякую не лестную информацию, рекламу и так далее, мучал разрабов, мега мозгов, и тд, Помоч не мог мне никто, придумал свой способ защиты, конечно это мега тупой способ, но спасает хоть как то:

Заходим Гмом (можно бота) вместе с пакет хаком на свой сервер и юзаем этот скрипт:

Код
var
nick,text,Tend,nick2,nick3,nick4:string;
temp,Ttype:integer;

procedure SendMsg(msg:string);
begin
  buf:=#$49;
  WriteS(msg);
  WriteD(17);
  SendToServer;
end;


begin
if FromServer and (pck[1]=#$4A) then
begin
temp:=readD(2);
Ttype:=readD(6);
nick:=ReadS(10);
text:=ReadS(10+2+length(nick)*2);
if Ttype = 10 then
begin
     if (length(nick)>0) and not(nick='[b]ТУТ ВВОДИМ НИК ГМА КОТОРЫМ ЗАШЛИ'[/b]) then
     begin
     SendMsg('Игрок - '+nick+' (Забанен за использование анонсов.)');
     buf:=#$74;
     WriteS('ban '+nick);
     SendToServer;
     end;
end;
nick2:=Copy(nick,0,2);
nick3:=Copy(nick,0,3);
nick4:=Copy(nick,0,4);
if (nick4='BAJI') or (nick4='-GM-') or (nick4='G-M-') or (nick4='-G-M')or (nick4='G--M') or (nick4='--GM') or (nick4='GM--') or (nick2='GM') or (nick3='=GM-') or (nick3='-GM') or (nick3='G-M') then
begin
     SendMsg('Игрок - '+nick+' (Забанен за использование анонсов.)');
     buf:=#$74;
     WriteS('ban '+nick);
     SendToServer;

end;
//Vister (La2onix.ru) ©


end;
end.


И как только 'Мега - Читер' юзает анонс, ему сразу банит акаунт и сообщяет в чат, если у кого есть идеи по защите от данной ерунды, буду ждать.

0
darkevil1
darkevil1

User

Ветеран

Posts: 526

На форуме с: 09/29/2007

Репутация: +243

Рейтинг: 0

· 06/21/2008, 10:56 PM

Есть скрипт который позволяет писать анонсы при помощи пакет хака ?

Мб чем помогу. Думаю полезно будет всем.

Читеры юзают тотже пакет Say2 что и ГМы когда пишут анонс.
Посмотрев пакет у фри, там даже проверки нету на то ГМ ты или нет. С одной стороны это нормально, но о читерах не подумали.

I love Belldandy!

0
P
phant0mas

User

Участник

Posts: 83

На форуме с: 09/15/2008

Репутация: +14

Рейтинг: 0

· 06/23/2008, 03:05 PM

http://www.l2jfree.com/index.php?topic=4336.0
Не этот баг случайно ?

... я похоже опять не в теме %)

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/23/2008, 03:06 PM

Темке ап...
Выложите-ка конкретный скрипт к l2phx.
Или конкретно раскидайте по полочкам как обычный игрок посылает аннонс.
Что именно подменяет в пакете say2?
Я пока не врубился нифига, объясните подробнее.

Я посмотрел сборку sf последнюю, я не нашел в чат-хенлдерах аннонс...
Вопрос - КАК ЧЕРЕЗ SAY2 МОГУТ ОТПРАВИТЬ АННОНС? Если в chathandler нету связи с аннонсом?
Уважаемый, а вы с hero voice не перепутали?
Баг тут есть да, согласен. Проверок нет. Но аннонс нельзя таким образом отправить!

Так что уточните, ибо вводите в заблуждение.

— Ålderdom - ingen glädje..

0
F
frostik
· 06/23/2008, 04:24 PM

если кому нада могу кинуть норм патч для сева что когда апускаеш чит прогу потом ла2 прога вырубается l2phx вырубается сам проверял

0
Виктор
Виктор

User

Новичок

Posts: 19

На форуме с: 11/21/2007

Репутация: +8

Рейтинг: 0

· 06/23/2008, 04:39 PM

frostik: если кому нада могу кинуть норм патч для сева что когда апускаеш чит прогу потом ла2 прога вырубается l2phx вырубается сам проверял

выкладывай... посмотрим что придумали

0
F
frostik
· 06/23/2008, 04:55 PM

_http://dump.ru/file_catalog/746672
вот тут он лежит вставляем в свой патч для сервера если чето не так говорите( от спасибо не откажусь)

0
darkevil1
darkevil1

User

Ветеран

Posts: 526

На форуме с: 09/29/2007

Репутация: +243

Рейтинг: 0

· 06/23/2008, 05:21 PM

AbsT: Темке ап...
Выложите-ка конкретный скрипт к l2phx.
Или конкретно раскидайте по полочкам как обычный игрок посылает аннонс.
Что именно подменяет в пакете say2?
Я пока не врубился нифига, объясните подробнее.

Я посмотрел сборку sf последнюю, я не нашел в чат-хенлдерах аннонс...
Вопрос - КАК ЧЕРЕЗ SAY2 МОГУТ ОТПРАВИТЬ АННОНС? Если в chathandler нету связи с аннонсом?
Уважаемый, а вы с hero voice не перепутали?
Баг тут есть да, согласен. Проверок нет. Но аннонс нельзя таким образом отправить!

Так что уточните, ибо вводите в заблуждение.


А причем тут hero voice ? Он же ясно написал анонс. Да и hero voice тоже шлется пакетом Say2C.
Не путай Say2 и Say2C два разных пакета, один серверный другой клиентский.
И юзают они именно пакет 49 т.е. Say2C
Структура пакета простая очень:

text = readS();
type = readD();
.....
bla bla bla

где type может быть:
ALL = 0;
SHOUT = 1;
TRADE = 8;
........
bla bla bla
ANNOUNCEMENT = 10;
........
bla bla bla
где text: текст который вы пишете.

Причем посмотрите в пакете Say2C нет никаких проверок, перс ГМ или нет. По сути любой игрок может слать любой меседж вам на сервере.

I love Belldandy!

0
darkevil1
darkevil1

User

Ветеран

Posts: 526

На форуме с: 09/29/2007

Репутация: +243

Рейтинг: 0

· 06/23/2008, 05:39 PM

phant0m: http://www.l2jfree.com/index.php?topic=4336.0
Не этот баг случайно ?

... я похоже опять не в теме %)


Ты не ошибся :)

I love Belldandy!

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/23/2008, 07:45 PM

Lelouch я именно о клиентском C-49 говорил.

Цитата
case 0x49:
msg = new Say2();
break;

Хотя внутри Say2: [C] 38 Say2
Других Say2 я вообще не нашел в хендлерах.
Это единственный сей-пакет клиент-типа.
Короче, обрати внимание на конец класса.

Цитата
IChatHandler handler = ChatHandler.getInstance().getChatHandler(_type);
if (handler != null)
{
handler.handleChat(_type, activeChar, _target, _text);
}


Затем, смотрим в net.sf.l2j.gameserver.handler.ChatHandler
Цитата
registerChatHandler(new ChatAll());
registerChatHandler(new ChatAlliance());
registerChatHandler(new ChatClan());
registerChatHandler(new ChatHeroVoice());
registerChatHandler(new ChatParty());
registerChatHandler(new ChatPartyRoomAll());
registerChatHandler(new ChatPartyRoomCommander());
registerChatHandler(new ChatPetition());
registerChatHandler(new ChatShout());
registerChatHandler(new ChatTell());
registerChatHandler(new ChatTrade());


Ну вот и где тут аннонс, хотел-бы я спросить вас :)
И еще, хотелбы уточнить - с какого хрена он должен быть тут тогда? Разрабы думаю не идиоты...
Если его тут нет, значит никакой аннонс не пройдет.
Поправь меня если не прав?


з.ы Say...аля серверный пакет имеет название CreatureSay, и опкод 4A.

— Ålderdom - ingen glädje..

0
darkevil1
darkevil1

User

Ветеран

Posts: 526

На форуме с: 09/29/2007

Репутация: +243

Рейтинг: 0

· 06/23/2008, 09:08 PM

Цитата
Если мне память не изменяет "Хотя внутри Say2: [C] 38 Say2" 38 это опкод бывших хроник, C4-interlude. Так и не поменяли сф почему-то. Видать их не колышет что будет писаться в дебаге.


Ты прав если нету хендлера то никаких последствий не будет.
Кстати у СФ пакет подругому называется с опкодом 4A. Не в нем суть, он тут не причем, этот пакет уже следствие, а не причина. Я к чему сказал что виной всему пакет пускай Say2 по SF-шному.
Кстати из какой сборки ты эти хендлеры выципил ? Спецом выиянул Free с SVN, в ней уже добавлены почти все индексы:

registerChatHandler(new ChatAll());
registerChatHandler(new ChatAlliance());
registerChatHandler(new ChatAnnounce());
registerChatHandler(new ChatClan());
registerChatHandler(new ChatCommander());
registerChatHandler(new ChatSystem());
registerChatHandler(new ChatHero());
registerChatHandler(new ChatParty());
registerChatHandler(new ChatPartyRoom());
registerChatHandler(new ChatPetition());
registerChatHandler(new ChatShout());
registerChatHandler(new ChatTrade());
registerChatHandler(new ChatWhisper());

:)

В самом пакете Say2 нет проверки на !activeChar.isGM, кстати Free проверку добавила и то криво. Поэтому в новых сборках этот финт у Free проходит. Переиграли со скобками в итоге косяк.

I love Belldandy!

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/23/2008, 09:55 PM

Сборку слил SFшную. Свежую.
Пакет 4A там именно CreatureSay как это не странно =0
Разрабов я уже на уши поставил, аргументы и факты показал и в код ткнул.
Так-что ждем исправлений =)

Тут проверкой на гм-а не обойтись. Нужно добавить проверки на альянс, клан, херо, пати-рум.
Иначе не аннонсом, так другим говном писать будут.
А какой-то из них..я забыл (красноватый цвет), заодно в правом ниж.углу пишет.

з.ы Тупость во фришке...зачем аннонс(если это он) в чат хендлер добавлять...//announce мало? Маразм у них.
Хорошо хоть, что чат-тип под номером 11 не добавили rofl.gif

— Ålderdom - ingen glädje..

0
darkevil1
darkevil1

User

Ветеран

Posts: 526

На форуме с: 09/29/2007

Репутация: +243

Рейтинг: 0

· 06/23/2008, 10:00 PM

Это точно :)
Но имхо для начала я бы скобки в пакете подругому выставил чтобы хотябы ГМа самого не банило за использование анонса.

Сделал бы так.

// If no or wrong channel is used - return
if ((_type == SystemChatChannelId.Chat_None ||
_type == SystemChatChannelId.Chat_Announce ||
_type == SystemChatChannelId.Chat_Critical_Announce ||
_type == SystemChatChannelId.Chat_System ||
_type == SystemChatChannelId.Chat_Custom ||
_type == SystemChatChannelId.Chat_GM_Pet) && !activeChar.isGM())

Если оставить как было ГМа может забанить за то что он заюзал анонс.

Блин не люблю мавен за его твердолобость. Нет каких-то либ и все проэкт хрен скомпилиш. Фтопку даж пытаться не буду :)

I love Belldandy!

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/24/2008, 11:45 AM

Дааа...посмотрел я...извращение просто ))
Ща в сф скоро должны занятся этой проблемой.

Кстати мавен сакс, ант рулит...так сказать все в 1 клик.

— Ålderdom - ingen glädje..

0
Алексей
Алексей

User

Бывалый

Posts: 115

На форуме с: 01/17/2008

Репутация: +205

Рейтинг: 0

· 06/24/2008, 03:41 PM

Запускаем пакет хак, в скрипты вписываем:

Войдите и наберите 200 постов

0
darkevil1
darkevil1

User

Ветеран

Posts: 526

На форуме с: 09/29/2007

Репутация: +243

Рейтинг: 0

· 06/24/2008, 04:37 PM

la2onix: Запускаем пакет хак, в скрипты вписываем:

Войдите и наберите 200 постов


Если не секрет сервер какой команды у тебя стоит ?

I love Belldandy!

0
Алексей
Алексей

User

Бывалый

Posts: 115

На форуме с: 01/17/2008

Репутация: +205

Рейтинг: 0

· 06/24/2008, 05:47 PM

Эмо будь она не ладна, че делать с этими анонсами уже не знаю, как не подойду к серверу всегда мат реклама и флуд в анонсах онлайн мне сбили в 3 раза эти ушлепки

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/25/2008, 09:02 AM

Исходники есть? Компилить умеешь?

— Ålderdom - ingen glädje..

0
Алексей
Алексей

User

Бывалый

Posts: 115

На форуме с: 01/17/2008

Репутация: +205

Рейтинг: 0

· 06/25/2008, 09:37 AM

Естественно)

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/25/2008, 10:37 AM

Отлично, выложи на pastebin.ca или на pastebin.com содержимое твоих исходников

clientpackets/say2.java
handler/chathandler.java

— Ålderdom - ingen glädje..

0
Войдите или зарегистрируйтесь чтобы ответить