Показать сообщение отдельно
Старый 03.07.2008, 20:30   #1
Stormraider
Продвинутый читер
Аватар для Stormraider
OFFLINE
Регистрация: 14.04.2007
Сообщений: 391
Благодарностей:
824 всего
Мнения: + 3678
Репутация: 3268
Отправить сообщение для Stormraider с помощью ICQ


Прошу заметить что подобные баги я выкладываю краине редко тк неизвестно к каким еще последствиям это может привести. На данный момент мне удалось наити лишь то что гм может атаковать игроков.

На поиск данного бага меня натолкнуло то что Rudakopy Дарка(за что громное спасибо) до фени на многие ограничения. Зайдя гмским персонажем через бот я смог убить обычного игрока(что нонсенс для гма).

На самом деле все просто:
Есть пакет от сервера EnterWorldResult этот пакет отвечает за то, как сервер прореагировал на вашу попытку входа: вот пример
Код:
06 00 01 02 00 00
06 00 - Длинна
01 02 - Тип
это ответ сервера на вход обычного игрока.
однако у гма он:
Код:
06 00 01 02 00 02
06 00 - Длинна
01 02 - Тип
02 - Нужный байт.
вот мы и нашли тот баит который отвечает к какому классу мы относимся.

Я попробовал поставить гму '00' баит - сработало - ник стал зеленым но гм чар перестал реагировать на команды и сообщения в чат. Тогда я поставил '04'(число взял рандомно из предположения того что баит отвечает за греид персонажа) и о чудо ник гм чара стал зеленым(для клиента(со всеми вытекающими)) и смог атаковать игроков и при этом сохранил возможность писать в чат обьвлений и вводить комманды.

Притом такая возможность появилась даже у обычных персонажей но на те команды которые я пробовал мне выдавал error(authority) что значило что у меня нет прав (вот тут можно покопать в целях наити команду без проверки).

Вообщем вот скрипт для PPC саура язык FS
Код:
var
ID, le : integer;
Hpto  : string;
Procedure OnCreate;
begin
Hpto := HStr('06 00 01 02 00 04');
end;

BEGIN
ID := gInt(_gBuff,3,2);
le := length(_gBuff);
if le < 4 then exit;

if (_gFromServ) and (ID = $0201) then begin
    gBlockPacket;
    gSys.SendC(Hpto);
    writelogln('пакет на вход изменен');
end;
END.
Имеется введу греид(ГМ , обычный игрок и тд). Потенциал у бага очень большой.

Последний раз редактировалось Big Bad Sensey; 13.10.2012 в 11:18.


Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook


История России — борьба невежества с несправедливостью. (c) МихМих

Numa Numa
 
Ответить с цитированием
Сказали спасибо:
voroninasi (01.06.2011), sisilipoop3 (24.09.2008), vasyokpupkiov (14.09.2008)