уязвимый участок кода:
Код:
public void SimpleExchange(String[] param) {
if (param.length < 4)
throw new IllegalArgumentException();
Player player = getSelf();
if (player == null)
return;
int itemToTake = Integer.parseInt(param[0]);
long countToTake = Long.parseLong(param[1]);
int itemToGive = Integer.parseInt(param[2]);
long countToGive = Long.parseLong(param[3]);
if (getItemCount(player, itemToTake) < countToTake) {
player.sendPacket(itemToTake == 57 ? Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA : SystemMsg.INCORRECT_ITEM_COUNT);
return;
}
removeItem(player, itemToTake, countToTake);
addItem(player, itemToGive, countToGive);
}
не охота было качать пакетник, сделаем проще для наглядного примера:
1. качаю и запускаю сервер л2.
2. редактирою диалог 30008:
Код:
test:
[scripts_Util:SimpleExchange 57 1 57 100000000|Тест выдачи итема]
3. захожу в игру и откриваю диалог с данным нпсом:
[
Ссылки могут видеть только зарегистрированные пользователи. ]
4. нажимаю ссылку и получаю:
Код:
http://rghost.ru/40973617/image.png
рассмотрим строку вызова подробнее:
[scripts_Util:SimpleExchange 57 1 57 100000000|Тест выдачи итема]
через пакетник вызов скорее всего будет происходить через bypass -h или bypass (аналогично через дебагеры в оперативке)
дальше сам клас и метод
Код:
scripts_Util:SimpleExchange
после пишем итем который мы отдаем и количество
и на конец ид итема который получаем и количество
данный код присутствует на всех ява серверах (проверял от финала и выше)
Добавлено через 2 минуты
п.с не помешает проверить на платных сборках
и вторая большая просьба не убивать сервера, а если и убиваете делитесь добычей
Добавлено через 1 час 4 минуты
по аналогу [
Ссылки могут видеть только зарегистрированные пользователи. ] можно использовать дебагеры