Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Хуки для NextGen
#1
Кто-то там в курилке говорил, что пора выкладывать всякую хрень в честь дня рождения зоны? Так получайте Smile

Небольшая хук-система для нектгена. Умеет хукать большинство хандлеров (от байпассов до бгомерзких админ-команд). Писалось некоторое время назад для себя, т.к. сейчас есть немного работы под этот эмуль.

Примеры использования:
Пример 1 (вырезка кода)
Пример 2

В чем же соль спросите вы?
Все просто - к сожалению мы не можем модифицировать существующие байпассы (возьмем для конкретики именно их), хотя время от времени это становится нужным. Логика библиотеки проста: берем хранилище хандлеров, ищем фиелд с их хранением, берем его и изменяем хандлер на наш, чтобы запрос шел на наш обработчик. При этом сохраняется обратный вызов хукнутого хандлера, с помощью super-вызова (представлено выше).

Немного документации:

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

Tick 2:
Для написания кастомных версий требуется соблюдать некоторые правила:
1. Хук-классы. Необходимо наличие глобальной переменной oldHandler с любыми флагами поля и любым типом, т.е. другими словами: делайте хоть private final Object oldHandler. Эта переменная не должна быть null, она должна указывать на стандартный обработчик, который заменяет хук.
2. Хранилище. Сканинг направлен только на TIntObjectHashMap типы фиелдов. Если тип фиелда, где хранятся обработчики другой - поле для инжекта не будет найдено, соответственно хук просто не будет работать.

Либа:
mediafire

Сорц либы (содержит проект eclipse со всеми зависимостями):
mediafire
*для людей, которые думают: "ололо, щас заберу ядро НГ" - хренушки, ибо я вырезал все классы, кроме зависимых.*


Послесловие:
Как я уже говорил, алгоритмика проверена и используется мной. Абстракцию и уровень библиотеки написал только что, для зиги, поэтому возможны ошибки Smile

Послесловие 2:
Чует мое сердце, что такими темпами дойду до модернизации байткода на лету, ибо не хватает очень многих вещей в Script-API некстгена Sad
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)