06-30-2008, 11:01 PM
Описание:
Для начала её надо распаковать в отдельную папку (ни в коем случае не распаковывайте в папку с игрой!).
В результате в папке появятся следующие файлы:
* l2phx.exe - сама программа, которую и надо запускать
* inject.dll - библиотека внедряемая программой в клиент чтобы перенаправить соединение с сервервером
* ItemsID.ini - список вещей и их идентификаторов (используется просмотрщиком пакетов)
* Options.ini - файл настроек программы
* Packets.ini - список пакетов и их расшифровка (вы можете самостоятельно его менять чтобы корректировать или добавлять расшифровки пакетов)
* SkillsID.ini - список умений и их идентификаторов (используется для учения скилов)
* Scripts - папка со скриптами, скрипты считываются из этой папки и добавляются при создании в неё же, программа загружает скрипты при старте и при нажатии Обновить список на вкладке Скрипты
Теперь запустим программу.
Список соединений - это списик в котором будет появляться ник вашего героя когда вы зайдете им в игру (ник появится только когда вы именно зайдете в игру, а пока вы заходите просто пропадет надпись пусто), по умочанию вы можете зайти 6ю клиентами/ботами одновременно, но это число можно поменять в файле Options.ini и перезапустить программу.
Справа вверху располагается кнопка выхода, а четвертая кнопка в строке заголовка программы сворачивает её в трей (это рядом с часами, кстати свернуть/развернуть программу оттуда можно и нажатием на иконку программы)
Ну вот, теперь можно подробно изучить каждую вкладку в программе.
Вкладка "Основное":
На этой вкладке располагаются основные настройки программы, затем в самом низу располагается поле в которое выводятся сообщения о перехвате соединений.
Настроек у программы немного:
В поле Считать клиентами/ботами программы указывается список приложений соединения которых должны быть перехвачены, имена файлов перечисляются подряд через точку с запятой;
В поле Неигровые порты укзываются номера портов, соединения с которыми недолжны перехватываться программой (например порты верификации валкера);
В поле Найденные клиенты/боты отображаются приложения для которых был установлен перехват соединений;
Опция Перехват включает/выключает перехват соединений, но если соединение уже установлено то эта опция на него уже невлияет, если опция включена то программа каждые 5 скунд производит поиск новых приложений которым следует установить перехват;
Опция Пропускать логин управляет способом пропускания пакетов при общении с логин сервером и в большенстве случаев неиграет никакой роли (поэтому и была включена напостоянную, хотя её можно выключить через файл настроек);
Опция Список работающих программ просто разрешает/ запрещает показ списка работающий в системе программ у которых есть возможность перехватить соединения;
Опция Обход антибота на многих серверах уже непашет так что и описывать нет смысла
Опция Работать через прокси сервер пока неработает поэтому отключена.
С этой вкладкой пожалуй всё.
Вкладка "Просмотр":
На этой вкладке можно посмотреть список принятых и отправленых пакетов и рассмотреть каждый пакет подробно.
Пакеты запоминаются если включена опция Запоминать пакеты, если она отключена то можно только просматривать уже принятые пакеты.
Опция Изменить фильтры показывает/прячет блок с фитрами пакетов по их типу.
Опции Пакеты от клиента и Пакеты от сервера управляют фильтром по направлению пакетов.
Опция Прокручивать просто прокручивает список пакетов по мере его запонения когда она включена.
Кнопка Фильтровать этот пакет удаляет из списка все пакеты такого же типа как выделенный, что равносильно убиранию галочки рядом с типом пакета в блоке фильтров по типу.
Вкладка "Дополнительно":
На этой вкладке можно выполнить скрипт, послать пакет на учение скила (практически на всех серверах уже пофиксено) и произвести различные преобразования.
И так чтобы выполнить скрипт его для начала нужно конечно написать.
Для этого вам понадобится умение писать на языке Pascal. Если же вы его незнаете то раскажу самые основы.
Прежде всего в скрипте должен присутствовать в обязательном порядке блок начинающийся с begin и заканчивающийся end. (после последнего end обязательно ставиться точка!). Те комманды которые находятся внутри него и будут выполнены при нажатии на кнопку Выполнить. Каждая комманда должна заканчиваться символом точка с запятой. Для начала вам понадобятся только следующие комманды:
buf := #$XX;
или
buf := #$XX#$XX;
или
buf := #$XX#$XX#$XX;
и так далее, где XX это шестнадцетиричное число от 00 до FF.
эти комманды присваивают переменной buf один, два или три байта соответственно, но можно присвоить сколько угодно, а так же можно использовать такую комманду:
buf := HStr('XX XX XX');
которая тоже присвоит 3 байта переменной buf, такая запись более удобна и наглядна при записи большего количества байт.
если же надо добавить к уже записанным байтам ещё несколько то комманда получается такой:
buf := buf + HStr('XX XX XX');
далее есть ещё несколько комманд которые нам тут пригодятся:
WriteS('текст'); - эта комманда добавит к переменной buf набор байт соответствующий строке в юникоде текст.
WriteD(d); - эта комманда добавит к переменной buf 4 байта соответствующих числу d.
WriteC( b ); - эта комманда добавит к переменной buf 1 байт соответствующий числу b.
SendToServer; и SendToClient; - отправляют набор байт из переменной buf на сервер или клиент соответственно.
таким образом скрипт написанный по умолчанию формирует и посылает пакет на то чтобы произнести в обычный чат слово Hello.
Ну а если вы ещё не совсем всё поняли, то вот код для отправки на сервер например пакета 1b 0d 00 00 00:
Код
begin
buf:=HStr('1b 0d 00 00 00');
SendToServer;
end.
Остальные комманды и переменные которые можно использовать при написании скриптов я рассмотрю немного дальше
Учение скилов рассматривать смысла нет. Это из светлого прошлого
Итак, Скрипты:
Вкладка эта служит для создания, редактирования, включения и выключения скриптов, все кнопки тут впринципе должны быть понятны так что скажу только что для включения/выключения скрипта надо просто поставить/снять флажек рядом с названием скрипта.
Все скрипты для списка справа берутся и сохраняются в папку Scripts
Как я уже говорил вам понадобится умение программирования на Object Pascal (или Delphi, что примерно тоже самое) и для манипуляций с пакетами естественно понадобится знать что они из себя представляют.
В этой теме я лиш приведу описания внутренних функций и переменных программы.
FastScript - скриптовой движок использованный в программе
Доступные переменные:
pck (string) - текущий обрабатываемый пакет (без первых двух байт с размером)
FromClient (boolean) - пакет (pck) пришел от клиента (всёравно что not FromServer)
FromServer (boolean) - пакет (pck) пришел от сервера (всёравно что not FromClient)
buf (string) - буфер, используемый некоторыми функциями
ConnectName (string) - имя чара от или к которому идёт пакет (v. 3.1.3+)
ConnectID (integer) - номер соединения для которого выполняется скрипт
Доступные функции:
ShowTab и HideTab - для отображения/скрытия панели (UserTab), управлять которой можно из скрипта
Для рисования на ней контролов надо указывать UserTab в качестве родителя
SendToClient - отправляет клиенту содержимое переменной buf
SendToServer - отправляет серверу содержимое переменной buf
SendToClientEx(CharName: string) - отправляет клиенту с именем CharName содержимое переменной buf (v. 3.1.3+)
SendToServerEx(CharName: string) - отправляет серверу с именем CharName содержимое переменной buf (v. 3.1.3+)
(к пакету buf автоматически добавляются 2 байта длины)
Для начала её надо распаковать в отдельную папку (ни в коем случае не распаковывайте в папку с игрой!).
В результате в папке появятся следующие файлы:
* l2phx.exe - сама программа, которую и надо запускать
* inject.dll - библиотека внедряемая программой в клиент чтобы перенаправить соединение с сервервером
* ItemsID.ini - список вещей и их идентификаторов (используется просмотрщиком пакетов)
* Options.ini - файл настроек программы
* Packets.ini - список пакетов и их расшифровка (вы можете самостоятельно его менять чтобы корректировать или добавлять расшифровки пакетов)
* SkillsID.ini - список умений и их идентификаторов (используется для учения скилов)
* Scripts - папка со скриптами, скрипты считываются из этой папки и добавляются при создании в неё же, программа загружает скрипты при старте и при нажатии Обновить список на вкладке Скрипты
Теперь запустим программу.
Список соединений - это списик в котором будет появляться ник вашего героя когда вы зайдете им в игру (ник появится только когда вы именно зайдете в игру, а пока вы заходите просто пропадет надпись пусто), по умочанию вы можете зайти 6ю клиентами/ботами одновременно, но это число можно поменять в файле Options.ini и перезапустить программу.
Справа вверху располагается кнопка выхода, а четвертая кнопка в строке заголовка программы сворачивает её в трей (это рядом с часами, кстати свернуть/развернуть программу оттуда можно и нажатием на иконку программы)
Ну вот, теперь можно подробно изучить каждую вкладку в программе.
Вкладка "Основное":
На этой вкладке располагаются основные настройки программы, затем в самом низу располагается поле в которое выводятся сообщения о перехвате соединений.
Настроек у программы немного:
В поле Считать клиентами/ботами программы указывается список приложений соединения которых должны быть перехвачены, имена файлов перечисляются подряд через точку с запятой;
В поле Неигровые порты укзываются номера портов, соединения с которыми недолжны перехватываться программой (например порты верификации валкера);
В поле Найденные клиенты/боты отображаются приложения для которых был установлен перехват соединений;
Опция Перехват включает/выключает перехват соединений, но если соединение уже установлено то эта опция на него уже невлияет, если опция включена то программа каждые 5 скунд производит поиск новых приложений которым следует установить перехват;
Опция Пропускать логин управляет способом пропускания пакетов при общении с логин сервером и в большенстве случаев неиграет никакой роли (поэтому и была включена напостоянную, хотя её можно выключить через файл настроек);
Опция Список работающих программ просто разрешает/ запрещает показ списка работающий в системе программ у которых есть возможность перехватить соединения;
Опция Обход антибота на многих серверах уже непашет так что и описывать нет смысла
Опция Работать через прокси сервер пока неработает поэтому отключена.
С этой вкладкой пожалуй всё.
Вкладка "Просмотр":
На этой вкладке можно посмотреть список принятых и отправленых пакетов и рассмотреть каждый пакет подробно.
Пакеты запоминаются если включена опция Запоминать пакеты, если она отключена то можно только просматривать уже принятые пакеты.
Опция Изменить фильтры показывает/прячет блок с фитрами пакетов по их типу.
Опции Пакеты от клиента и Пакеты от сервера управляют фильтром по направлению пакетов.
Опция Прокручивать просто прокручивает список пакетов по мере его запонения когда она включена.
Кнопка Фильтровать этот пакет удаляет из списка все пакеты такого же типа как выделенный, что равносильно убиранию галочки рядом с типом пакета в блоке фильтров по типу.
Вкладка "Дополнительно":
На этой вкладке можно выполнить скрипт, послать пакет на учение скила (практически на всех серверах уже пофиксено) и произвести различные преобразования.
И так чтобы выполнить скрипт его для начала нужно конечно написать.
Для этого вам понадобится умение писать на языке Pascal. Если же вы его незнаете то раскажу самые основы.
Прежде всего в скрипте должен присутствовать в обязательном порядке блок начинающийся с begin и заканчивающийся end. (после последнего end обязательно ставиться точка!). Те комманды которые находятся внутри него и будут выполнены при нажатии на кнопку Выполнить. Каждая комманда должна заканчиваться символом точка с запятой. Для начала вам понадобятся только следующие комманды:
buf := #$XX;
или
buf := #$XX#$XX;
или
buf := #$XX#$XX#$XX;
и так далее, где XX это шестнадцетиричное число от 00 до FF.
эти комманды присваивают переменной buf один, два или три байта соответственно, но можно присвоить сколько угодно, а так же можно использовать такую комманду:
buf := HStr('XX XX XX');
которая тоже присвоит 3 байта переменной buf, такая запись более удобна и наглядна при записи большего количества байт.
если же надо добавить к уже записанным байтам ещё несколько то комманда получается такой:
buf := buf + HStr('XX XX XX');
далее есть ещё несколько комманд которые нам тут пригодятся:
WriteS('текст'); - эта комманда добавит к переменной buf набор байт соответствующий строке в юникоде текст.
WriteD(d); - эта комманда добавит к переменной buf 4 байта соответствующих числу d.
WriteC( b ); - эта комманда добавит к переменной buf 1 байт соответствующий числу b.
SendToServer; и SendToClient; - отправляют набор байт из переменной buf на сервер или клиент соответственно.
таким образом скрипт написанный по умолчанию формирует и посылает пакет на то чтобы произнести в обычный чат слово Hello.
Ну а если вы ещё не совсем всё поняли, то вот код для отправки на сервер например пакета 1b 0d 00 00 00:
Код
begin
buf:=HStr('1b 0d 00 00 00');
SendToServer;
end.
Остальные комманды и переменные которые можно использовать при написании скриптов я рассмотрю немного дальше
Учение скилов рассматривать смысла нет. Это из светлого прошлого
Итак, Скрипты:
Вкладка эта служит для создания, редактирования, включения и выключения скриптов, все кнопки тут впринципе должны быть понятны так что скажу только что для включения/выключения скрипта надо просто поставить/снять флажек рядом с названием скрипта.
Все скрипты для списка справа берутся и сохраняются в папку Scripts
Как я уже говорил вам понадобится умение программирования на Object Pascal (или Delphi, что примерно тоже самое) и для манипуляций с пакетами естественно понадобится знать что они из себя представляют.
В этой теме я лиш приведу описания внутренних функций и переменных программы.
FastScript - скриптовой движок использованный в программе
Доступные переменные:
pck (string) - текущий обрабатываемый пакет (без первых двух байт с размером)
FromClient (boolean) - пакет (pck) пришел от клиента (всёравно что not FromServer)
FromServer (boolean) - пакет (pck) пришел от сервера (всёравно что not FromClient)
buf (string) - буфер, используемый некоторыми функциями
ConnectName (string) - имя чара от или к которому идёт пакет (v. 3.1.3+)
ConnectID (integer) - номер соединения для которого выполняется скрипт
Доступные функции:
ShowTab и HideTab - для отображения/скрытия панели (UserTab), управлять которой можно из скрипта
Для рисования на ней контролов надо указывать UserTab в качестве родителя
SendToClient - отправляет клиенту содержимое переменной buf
SendToServer - отправляет серверу содержимое переменной buf
SendToClientEx(CharName: string) - отправляет клиенту с именем CharName содержимое переменной buf (v. 3.1.3+)
SendToServerEx(CharName: string) - отправляет серверу с именем CharName содержимое переменной buf (v. 3.1.3+)
(к пакету buf автоматически добавляются 2 байта длины)