IncubusX
18.06.2010, 17:25
Сам баг заключается в отправке измененного пакета при покупке в кафрошопе. Работает на ревизиях 12364-14266 включительно.
еА имела баг в функции npc_cashshop_buy(), когда мы шлем пакет со значением кафрапоинтов 0х80000 (Это -MAX_INT) тогда пакет проходит проверку и вещь покупается, дополнительным бонусом становится то что на счет зачисляют MAX_INT кафрапоинтов (в нашем случае 1ккк).
Как именно сделать баг:
1) Открываем окно торговли с кафрашопом за кешпоинты
2) Выбираем любую вещь из списка и находим её ид. Например Блуди бранчи ид 12103.
3) Переводим в Хекс получаем 2F47, меняем значение местами(ВоВ стаил XDDD) получается 472F
4) Пакет имеет такую структуру 0x0288 <ИД Вещи>.Word <колличество>.Word <цена>.Long_Int
5) Открываем ВПЕ и принимаем 1 любой пакет
6) Ставим длинну пойманного пакета 10 и вместо него отправляем 88 02 47 2F 01 00 00 00 00 80
7) Получаем вещь и 1000000000 Кафропоинтов
8) Получаем дисконнект и запись в логах о том что произошло что то странное
9) Перезаходим и радуемся жизни!
еА имела баг в функции npc_cashshop_buy(), когда мы шлем пакет со значением кафрапоинтов 0х80000 (Это -MAX_INT) тогда пакет проходит проверку и вещь покупается, дополнительным бонусом становится то что на счет зачисляют MAX_INT кафрапоинтов (в нашем случае 1ккк).
Как именно сделать баг:
1) Открываем окно торговли с кафрашопом за кешпоинты
2) Выбираем любую вещь из списка и находим её ид. Например Блуди бранчи ид 12103.
3) Переводим в Хекс получаем 2F47, меняем значение местами(ВоВ стаил XDDD) получается 472F
4) Пакет имеет такую структуру 0x0288 <ИД Вещи>.Word <колличество>.Word <цена>.Long_Int
5) Открываем ВПЕ и принимаем 1 любой пакет
6) Ставим длинну пойманного пакета 10 и вместо него отправляем 88 02 47 2F 01 00 00 00 00 80
7) Получаем вещь и 1000000000 Кафропоинтов
8) Получаем дисконнект и запись в логах о том что произошло что то странное
9) Перезаходим и радуемся жизни!