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

Баг с переполнением 2^63-1 (клиент ГоД)

-

Баги и читы Lineage 2

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

Ответ
 
Опции темы
Старый 01.05.2016, 21:34   #1
 Разведчик
Аватар для renat3
 
renat3 никому не известный тип
Регистрация: 01.05.2016
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
 
Post Баг с переполнением 2^63-1 (клиент ГоД)

Привет. Есть такая тема - начиная с Финала, лимит адены на чаре вырос с 2.147ккк до 99.999ккк. Связано это было с переходом клиента на 64-битные переменные вместо 32-битных. Пришла в голову мысль потестить переполнение новых переменных - и они переполняются!

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

Суть. Максимальное значение, которое может хранить 64-битная переменная - 2^63 - 1, или 9223372036854775807 (9 квинтиллионов, 223 квадриллиона и т.д.). При покупке в любом шопе на сумму более этого значения оно уходит в минус и начинает отматываться обратно к нулю, после чего снова принимает положительное значение. Теперь пошагово:

1) Идём в гросери и покупаем (не нажимаем "купить"! просто перетаскиваем в окно покупки) пару триллионов спирит оров (в принципе неважно сколько, главное понять на какую сумму мы их закупили). Почему спириты? Потому что они невесомые. Триллионы штук можно купить путем копирования числа из текстового документа в окно покупки.

2) Внизу наводим мышку на предполагаемую сумму покупки и видим всплывающее окошко с буквенным обозначением суммы, типа "1 QT 563 QD 876 T... и т.д." (1 квинтиллион 563 квадриллиона 876 триллионов и т.д.). Наша цель - набрать спиритов на сумму в 9 с лишним квинтиллионов аден. Если в процессе нажать кнопку "купить" - клиент скажет, что не хватает аден.

3) Набрав сумму в 9.223 квинтиллиона аден, видим, что сумма стала отрицательной (типа -9,200,000...) и при последующем наборе спиритов устремилась к нулю. Продолжаем набирать спириты, пока сумма не дойдёт до нуля и вновь не примет положительное значение.

4) Теперь мы имеем относительно небольшую положительную сумму покупки (несколько квадриллионов аден, всего-то). Берём калькулятор и делим эту сумму на цену покупаемых спиритов, полученное число УБИРАЕМ из закупки обратно в магазин. Остаток суммы должен остаться совсем небольшой (несколько тысяч аден или около того). На чаре эта сумма должна иметься.

5) Теперь главный момент. У нас в закупке лежит очень много спирит оров на ничтожно малую сумму. Мы можем попробовать их купить, но тогда клиент дисконнектит с фразой в систем чате "you have exceeded the number of input items" (слишком много набрали, короче). Но! Проверку на сумму покупки мы уже прошли! Так как окно "not enough adena" не появляется и окно трейда закрывается, как будто он прошёл успешно.

6) То есть ситуация такая. При покупке проходит несколько проверок:
- СУММА. Эта проверка пройдена, т.к. окно о нехватке адены не появляется.
- Возможно, ВЕС. В более ранних хрониках можно было закупиться в магазине и получить перевес в 100 и более процентов. Да, ходить было нельзя, но это в подобных ситуациях обычно и не требовалось Здесь хороши невесомые спирит оры.
- И самая главная проблема, КОЛИЧЕСТВО купленных предметов или же количество предметов в инвентаре. Хотя скорее первый вариант, потому что слово "input" явно говорит о количестве введённого количества товара в окне трейда, а не о инвентаре. Хотя когда речь идёт о триллионах и квадриллионах предметов, может быть что угодно...

7) Мои попытки. Я пробовал делать по-разному:
- То, что описано выше. Покупка астрономического количества предметов после двух циклов переполнения переменной итоговой суммы (сначала до +9.223 квинтиллиона, потом от -9.223 квинтиллиона до нуля). Трейд происходит, окно закрывается, но вылетает описанная выше ошибка о слишком большом введённом числе и клиент дисконнектит.
- Покупка в тот момент, когда сумма отрицательна. Ничего не происходит, окно трейда остаётся висеть.
- Попытка переполнить переменную, отвечающую за КОЛИЧЕСТВО покупаемых предметов. При таком подходе начинается дичь - да, количество спиритов в окне покупки относительно адекватно (1, 2, и т.д.), но в окне суммы происходит непонятно что - то числа с одним минусом, то с двумя, то положительные. То есть при переполнении переменной количества переменная суммы переполняется многократно и начинает вести себя неадекватно. Можно покопать и в этом направлении.

8) Теоретические выкладки. В идеале, нужно выяснить, каков этот самый "input" (количество покупаемых предметов) и подстраиваться уже под него. Также можно найти ДОРОГИЕ СТОПКОВЫЕ предметы, покупаемые в магазине, которых, теоретически, можно набрать столько, сколько нужно для переполнения переменной суммы, но недостаточно для появления ошибки "инпута" (хотя это вряд ли, всё равно речь будет идти о триллионах штук, да и таких предметов в магазинах я не видел).

Такие дела. Жду ваших мыслей по данному поводу. Спасибо за внимание, кто осилил
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Devidchitchyan (02.05.2016), SEY.MUR (02.05.2016)
Старый 02.05.2016, 11:24   #2
 Разведчик
Аватар для apostol337
 
apostol337 никому не известный тип
Регистрация: 11.07.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

очень интересно, когда то на ит чтот подобное видел, но чтоб так подробно расписано вижу впервые, попробовать можно пакетником, но это уже совсем другая история.
  Ответить с цитированием
Старый 07.06.2016, 18:05   #3
 Разведчик
Аватар для F111
 
F111 никому не известный тип
Регистрация: 07.06.2011
Сообщений: 1
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

я когдато чтото подобное на ИЛ пробовал, а самый дорогой предмет в подвале ИТ находится, по крайней мере на ИЛ, это чармы, они там по 100+к
  Ответить с цитированием
Старый 23.06.2016, 00:17   #4
Заблокирован
 Сержант
Аватар для NeonEye
 
NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(
Регистрация: 15.08.2013
Сообщений: 141
Популярность: 11835
Сказал(а) спасибо: 265
Поблагодарили 100 раз(а) в 59 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

http://zhyk.ru/forum/showthread.php?t=688771
  Ответить с цитированием
Старый 23.06.2016, 19:22   #5
 Сержант
Аватар для Apostol777
 
Apostol777 на правильном пути
Регистрация: 21.05.2010
Сообщений: 100
Популярность: 39
Сказал(а) спасибо: 19
Поблагодарили 171 раз(а) в 57 сообщениях
Отправить сообщение для Apostol777 с помощью ICQ Отправить сообщение для Apostol777 с помощью Skype™
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

Цитата:
Сообщение от NeonEyeПосмотреть сообщение
http://zhyk.ru/forum/showthread.php?t=688771

я поражаюсь , сидят тут старые " пирдуны " и им тут больше нечем занятся только как cылки на копипапаст кидать. При этом нелепый подвал на жуке не несет в себе актуальных тем..... Скажу только то что много людей ушло с жука по той причине что от него нет не какой отдачи, возьмем в пример меня я не кидал дюпы в подвал только наводящи темы но не кто даже не задумывался как можно использовать эту информацию хотя я дюпал и по сей день дюпаю...
  Ответить с цитированием
Старый 24.06.2016, 16:20   #6
 Разведчик
Аватар для nikertas
 
nikertas никому не известный тип
Регистрация: 28.03.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

Ну возьмите сервак создайте,забейте ценник на стопковый итем в треть необходимой цифры и проверьте что выйдет...На Interlude меня или кикает с проверой на покупку за 0 или ничего не покупает...Но С6 реагирует еще на 2в32-1. Сервак High Five или выше создавать не пробовал.

Добавлено через 2 минуты
Цитата:
Сообщение от apostol337Посмотреть сообщение
очень интересно, когда то на ит чтот подобное видел, но чтоб так подробно расписано вижу впервые, попробовать можно пакетником, но это уже совсем другая история.

Так а разве числовое значение в пакетнике неограничено 2в32? Пакетник тут бесполезен вроде...

Добавлено через 10 минут
Цитата:
Теоретические выкладки. В идеале, нужно выяснить, каков этот самый "input" (количество покупаемых предметов) и подстраиваться уже под него. Также можно найти ДОРОГИЕ СТОПКОВЫЕ предметы, покупаемые в магазине, которых, теоретически, можно набрать столько, сколько нужно для переполнения переменной суммы, но недостаточно для появления ошибки "инпута"

Есть вариант найти соотношение цены и кол-ва предметов чтобы переполнить оба показателя чтобы кол-во было в пределах нормы и цена была доступной нам...Хотя посидел подумал и походу дела бред написал)))

Последний раз редактировалось nikertas; 24.06.2016 в 16:41. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 24.06.2016, 16:32   #7
Заблокирован
 Сержант
Аватар для NeonEye
 
NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(NeonEye сломал счётчик популярности :(
Регистрация: 15.08.2013
Сообщений: 141
Популярность: 11835
Сказал(а) спасибо: 265
Поблагодарили 100 раз(а) в 59 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

Цитата:
Сообщение от Apostol777Посмотреть сообщение
я поражаюсь , сидят тут старые " пирдуны " и им тут больше нечем занятся только как cылки на копипапаст кидать. При этом нелепый подвал на жуке не несет в себе актуальных тем..... Скажу только то что много людей ушло с жука по той причине что от него нет не какой отдачи, возьмем в пример меня я не кидал дюпы в подвал только наводящи темы но не кто даже не задумывался как можно использовать эту информацию хотя я дюпал и по сей день дюпаю...

Ну не знаю, скинул ссылку на старую тему, где люди уже пробовали думать на эту тему. Сам я тоже проверял это да безрезультатно.
  Ответить с цитированием
Старый 24.06.2016, 16:39   #8
 Разведчик
Аватар для nikertas
 
nikertas никому не известный тип
Регистрация: 28.03.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

Цитата:
только наводящи темы

Есть,чё?)
  Ответить с цитированием
Старый 19.07.2016, 02:26   #9
 Разведчик
Аватар для ~Berlanto~
 
~Berlanto~ на правильном пути
Регистрация: 17.11.2010
Сообщений: 10
Популярность: 26
Сказал(а) спасибо: 44
Поблагодарили 8 раз(а) в 8 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

Мало где работает данный баг!
  Ответить с цитированием
Старый 29.11.2018, 23:30   #10
 Разведчик
Аватар для stalkirasosin
 
stalkirasosin никому не известный тип
Регистрация: 19.05.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Баг с переполнением 2^63-1 (клиент ГоД)

Специально для вас посчитал в реалиях HF.

Максимальная Цена предмета(int.MaxValue*налог от замка): 2469606194
Максимальная стоимость(long.MaxValue): 9223372036854775807
Модуль суммы для полного круга(ulong.MaxValue): 18446744073709551615
Максимум предметов(int.MaxValue): 2147483647
Необходимое количество предметов(для отрицательного значения): 3734754172
Необходимое количество предметов для круга(для минимальной суммы покупки): 7469508344

Очевидно, что 7469508344>2147483647, а значит даже при максимальной доступной цене без изменений на сервере - ЭТО НЕВОЗМОЖНО!
  Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обсуждение] Баг с переполнением 2^64, можно ли доработать? 098qaz Баги и читы Lineage 2 7 30.04.2013 00:47
[Помогите!] RU клиент Novichok Общение и обсуждение Aion 2 23.08.2010 20:55

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

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

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