Сейчас это одно из самых перспективных направлений хаккинга в линейке. Для снифа и отсылки пакетов на серв рекомендую следующую программу:
hlapex
качаем здесь: http://msfu.net.ru/download/download.php?fn=lineage/hLaPEx.rar
Краткая инструкция:
1. Запускаем программу
2. Запускаем клиент
3. Входим в игру
Если всё нормально, то первым делом в игре получите приватное сообщение от hLaPEx
C прогой распространяютсья пакеты на виверну (везде фикс) и на левел ап (анимацию от него), пашет ан явахх
Полезные ссылки:
http://opensvn.csie.org/l2jc4....packets
http://opensvn.csie.org/l2jc4....packets
Скрипты
Описание FastScript:
http://msfu.net.ru/download/other/fs.rtf
Доступные переменные:
pck (string) - текущий обрабатываемый пакет (без первых двух байт с размером)
FromClient (boolean) - пакет (pck) пришел от клиента
FromServer (boolean) - пакет (pck) пришел от сервера
buf (string) - буфер, используемый некоторыми функциями
Доступные функции:
ShowTab и HideTab - для отображения/скрытия панели, управлять которой можно из скрипта
SendToClient - отправляет клиенту содержимое переменной buf
SendToServer - отправляет серверу содержимое переменной buf
(к пакету buf автоматически добавляются 2 байта длины)
ReadD(var index:integer):integer - читает из переменной pck число (4 байта)
ReadS(var index:integer):string - читает из переменной pck строку
ReadC(var index:integer):byte - читает из переменной pck байт
Index - начальная позиция чтения, которая модифицируется функцией (сдвигается на число считанных байт)
HStr(h:string):string - преобразует строку в HEX-последовательность
К примеру, HStr('AA 00 BB 00 CC 00') вернёт цепочку байт #$AA#$00#$BB#$00#$CC#$00. Можно передавать строку как с пробелами, так и без них; регистр символов не имеет значения.
WriteS(v:string) - пишет в переменную buf строку (автоматический перевод в unicode)
WriteD(v:integer; ind:integer=0) - пишет в переменную buf число (4 байта)
WriteC(v:byte; ind:integer=0) - пишет в переменную buf один байт
В первых двух процедурах присутствует необязательный параметр ind. Если параметр не указан, то переменная buf дополняется байтом/числом, иначе модифицируется часть буфера.
Пример:
buf=HStr('AA BB CC DD EE');
Если вызвать функцию WriteD(10,1), то получим buf=[0A 00 00 00 EE].
А если просто WriteD(10), то [AA BB CC DD EE 0A 00 00 00].
---
При входе в игру вызывается процедура Init, при выходе из игры - процедура Free. Основное тело скрипта (между begin и end) вызывается каждый раз при получении пакета от сервера или клиента.