Просмотр полной версии : L2PacketHack 3.5.x
vlad00777
09.01.2009, 00:07
Хм... у меня запустилось только так взять инжект из 78 сборки и вставил в 76 т.к в 78 при входе в игру просто выбивало. Следующая трабла : неправельное распознование пакетов грация парт 2 ( не отображается купил предмет) хотя должен все настройки норм.
Revision: 80
Author: nlobp
Date: 04:15:00, 09 января 2009 г.
Message:
[!] inj_ruoff.dll by Ratvier для входа в игру на L2.RU;
[+] Добавлен альтернативный метод инжекта в клиент;
[+] запрещаем загружать два раза программу:
[-] Исправлена ошибка - переименованная inject.dll не инжектилась в клиент;
[-] Исправлена ошибка функции Loop в PacketsT1.ini;
Выводим в лог сообщение о сохранении лога пакетов, для большей информативности;
Продублировал чекбокс isGraciaOff переменной isGraciaOf;
Небольшая правка кода вывода в лог;
Убрал - ShitConsole в Options.ini включает обход ShieldConsole;
Убрал - На вкладке "Основное" галочка Gracia(off server) и isGraciaOff в Options.ini включает обход ShieldConsole;
Revision: 79
Author: nlobp
Date: 4:02:45, 9 января 2009 г.
Message:
[!] Откат к 75 ревизии;
nezabudkin
09.01.2009, 14:13
Revision: 80,
не получается подключиться к РУ Офф.
При попытке логина, в логе пакетхака вылезает куча коннектов, и клиент закрывается.
vlad00777
09.01.2009, 18:26
Revision: 80,
не получается подключиться к РУ Офф.
При попытке логина, в логе пакетхака вылезает куча коннектов, и клиент закрывается.
у меня тоже самоу что и у тебе начиная с 78 ревизии.
При попытке логина, в логе пакетхака вылезает куча коннектов, и клиент закрывается.
Убери галку перехватывать клиент, пустит дальше...
В моем случае дальше пускает, но персонажа не отлавливает. Пробывал ухищрения как раньше, ставить галку перед выбором серверов, аналогично, пустило и нашло перса только 1 раз и то из пропатченого система под L2 Rangerом.
Добавлено через 1 минуту
А и можно по подробнее про альтернативный способ внедрения?
При попытке логина, в логе пакетхака вылезает куча коннектов, и клиент закрывается.
Какая ОС у товарищей с такой проблемой?
А и можно по подробнее про альтернативный способ внедрения?
Берётся первый попавшийся поток клиента, останавливается, записываются в память некоторые данные. После всего этого о_О подменяется место, где остановился поток, на код загружающий длл (вызовом LoadLibrary), и наконец-то этот несчастный поток запускают.
Какая ОС у товарищей с такой проблемой?
XP SP3. Причём сначала было всё нормально.
Обновилась ЩитКОнсоль на ру/оффе, если не слать ничего - вроде работает, если через ПНХ что-нить послать - все. через 10-50 секунд дисконект, опять что-то где-то намудрили с шифрацией/чексуммой/еще чем-то ... до вчерашнего дня ревизия 78 пахала на ура.
От чего они защищаються :( ? боты дальше сидят в городах и флудят чат( лучше бы програм-ботов убрали, а пакетхак остался жив :)
Вопрос: phx 7x на руофф заходят через раз, а вот 61-я всегда нормально. Что где нужно поменять, чтобы он правильно раскодировал пакеты (протокол же 828?)
Если можно, популярным нубским языком )))
vlad00777
10.01.2009, 15:21
Хр с 3 сп стоит ниразу незапустилась нармально ревизии после 75(75 работает только пакеты неправильно распознает). 60 ревизия все норм с пакетами распознает а после 60 все ок заходит но пакетов очень много неизвесных. При попытке послать пакет на покупку в грации покупается только та вещь которую я купил. другие айди не катят в чем защита и как обойти?
skylancer
10.01.2009, 17:46
А вы с ООГ Гудбоем 1.06 ПНХ запустить пробовали?
Я сейчас пытаюсь с 80 перехватить что-то - не получается. То ли нельзя, то ли прослойка между стулом и клавой плохая.
Сделайте пожалуйста, чтобы интервал поиска клиента тоже сохранялся в Options.ini.
vlad00777
10.01.2009, 23:22
А вы с ООГ Гудбоем 1.06 ПНХ запустить пробовали?
Я сейчас пытаюсь с 80 перехватить что-то - не получается. То ли нельзя, то ли прослойка между стулом и клавой плохая.
Revision: 80
Author: nlobp
Date: 04:15:00, 09 января 2009 г.
Message:
[!] inj_ruoff.dll by Ratvier для входа в игру на L2.RU;
[+] Добавлен альтернативный метод инжекта в клиент;
[+] запрещаем загружать два раза программу:
[-] Исправлена ошибка - переименованная inject.dll не инжектилась в клиент;
[-] Исправлена ошибка функции Loop в PacketsT1.ini;
Выводим в лог сообщение о сохранении лога пакетов, для большей информативности;
Продублировал чекбокс isGraciaOff переменной isGraciaOf;
Небольшая правка кода вывода в лог;
Убрал - ShitConsole в Options.ini включает обход ShieldConsole;
Убрал - На вкладке "Основное" галочка Gracia(off server) и isGraciaOff в Options.ini включает обход ShieldConsole;
Revision: 79
Author: nlobp
Date: 4:02:45, 9 января 2009 г.
Message:
[!] Откат к 75 ревизии;
Revision: 80,
не получается подключиться к РУ Офф.
При попытке логина, в логе пакетхака вылезает куча коннектов, и клиент закрывается.
Используй inject.dll
Добавлено через 3 минуты
Вопрос: phx 7x на руофф заходят через раз, а вот 61-я всегда нормально. Что где нужно поменять, чтобы он правильно раскодировал пакеты (протокол же 828?)
Если можно, популярным нубским языком )))
В RU-ффе как и NA-оффе изменяются ID пакетов, в последних версиях пакетхака это учтено.
nezabudkin
11.01.2009, 15:53
После последних обновлений клиента и (или) защиты Ру ОФФ, вот что стало получаться с пакетхаком (лог одного соединения):
11.01.2009 14:20:23 Стартует L2phx 3.4.1.79
11.01.2009 14:20:23 Успешно загрузили inj_ruoff.dll
11.01.2009 14:20:23 Thread Start: основной поток ServerListen 228/2180
11.01.2009 14:20:23 На 56574 зарегистрирован локальный сервер
11.01.2009 14:20:32 Библиотека inj_ruoff.dll успешно выгружена
11.01.2009 14:20:49 Успешно загрузили inject.dll
11.01.2009 14:21:23 Надёжно пропатчен новый клиент l2.exe (4080)
11.01.2009 14:21:59 Коннект на 127.0.0.1:37622 пропущен (перехват выключен)
11.01.2009 14:22:32 Перехвачен коннект на 127.0.0.1:27749
11.01.2009 14:22:32 Перехвачен коннект на 127.0.0.1:7175
11.01.2009 14:22:32 Thread Start: поток сервера Thread[0].SH 372/2716 SSock=368
11.01.2009 14:22:32 Thread Start: поток сервера Thread[1].SH 392/708 SSock=388
11.01.2009 14:22:32 Thread Start: поток клиента Thread[0].CH 400/3504 CSock=0
11.01.2009 14:22:32 Thread Start: поток клиента Thread[1].CH 444/3972 CSock=0
11.01.2009 14:22:32 Disconnect: отвалился сервер Thread[0].SH 372/2716 SSock=368
11.01.2009 14:22:33 WSA error 0/368
11.01.2009 14:22:33 WSA error 0/420
11.01.2009 14:22:33 Thread Exit: поток сервера Thread[0].SH 372/2716 SSock=368
11.01.2009 14:22:33 Disconnect: отвалился клиент Thread[0].CH 400/3504 CSock=420
11.01.2009 14:22:33 Thread Exit: поток клиента Thread[0].CH 400/3504 CSock=420
Хоть и куча ошибок, но удалось зайти на гейм сервер. (как не странно!)
11.01.2009 14:23:10 Считываем имя соединения...
11.01.2009 14:23:10 Имя соединения:PHX
11.01.2009 14:33:36 Сохраняем лог пакетов...
11.01.2009 14:45:27 Disconnect: отвалился клиент Thread[1].CH 444/3972 CSock=476
11.01.2009 14:45:27 Thread Exit: поток клиента Thread[1].CH 444/3972 CSock=476
11.01.2009 14:45:27 WSA error 10054/476
11.01.2009 14:45:29 WSA error 10038/476
Дальше все держалось нормально, пока не отправил совершенно безобидный пакетик say2, сервер его номрально обработал, в чате я увидел свое сообщение, но где-то через 30 секунд получил дисконнект :(
Это 100% шилдконсоль издевается над нами.
Так в итоге после последнего обновления можно пакеты слать на сервер без последствий? У одних все нормально, у других вылетает... а на самом деле как?
11.01.2009 14:20:23 Успешно загрузили inj_ruoff.dll
С этим инжектом у меня не работатет (лог выше выкладывал)
Я использую inject.dll (технология подключения - выкл/вкл перехват).
Хоть и куча ошибок, но удалось зайти на гейм сервер. (как не странно!)
11.01.2009 14:22:33 WSA error 0/368
11.01.2009 14:22:33 WSA error 0/420
Это не ошибки, это нормальное завершение потока.
11.01.2009 14:45:27 WSA error 10054/476
11.01.2009 14:45:29 WSA error 10038/476
А вот это ошибки.
Сбивается шифрация на руофе, если послать пакет на сервер то через минуту виснет клиент + сбивается расшифровка, пакеты дальше мусорные в логе, версии 75 и 78, 80 незаработала.
nezabudkin
12.01.2009, 02:21
У меня расшифровка пакетов не сбивается, 80 версия нормально конектиться к РУ ОФФ, только надо использовать inject.dll и вовремя жать вкл/выкл перехвата.
Но после последних обновлений на РУ ОФФ, после отсылки любого правильного пакета в сторону сервера (пакет нормально распознается сервером и выполняется) получаем где-то в течении 1 мин дисконект.
Revision: 81
Author: nlobp
Date: 02:15:00, 13 января 2009 г.
Message:
[+] Сохраняем время "Искать клиент" в options.ini;
[+] Расшифровка пакета s30=SummonSay в PacketsT1.ini, спс Xelat;
[+] Расшифровка пакета s54=MagicSkillLaunched в PacketsT1.ini, спс Xelat;
Внес немного изменений в имена переменных, спс Ratvier;
13.01.2009 4:24:10 Стартует L2phx 3.4.1.81
13.01.2009 4:24:10 Успешно загрузили inject.dll
13.01.2009 4:24:10 Thread Start: основной поток ServerListen 332/3764
13.01.2009 4:24:10 На 56574 зарегистрирован локальный сервер
13.01.2009 4:24:40 Скрытно пропатчен новый клиент l2.exe (1316)
13.01.2009 4:25:18 Перехвачен коннект на 127.0.0.1:18500
13.01.2009 4:25:18 Thread Start: поток сервера Thread[0].SH 600/4084 SSock=608
13.01.2009 4:25:18 Thread Start: поток клиента Thread[0].CH 612/2224 CSock=0
13.01.2009 4:25:24 Disconnect: отвалился сервер Thread[0].SH 600/4084 SSock=608
13.01.2009 4:25:24 WSA error 0/608
13.01.2009 4:25:24 WSA error 0/628
13.01.2009 4:25:24 Disconnect: отвалился клиент Thread[0].CH 612/2224 CSock=628
13.01.2009 4:25:24 Thread Exit: поток сервера Thread[0].SH 600/4084 SSock=608
13.01.2009 4:25:24 Thread Exit: поток клиента Thread[0].CH 612/2224 CSock=628
13.01.2009 4:25:24 Перехвачен коннект на 127.0.0.1:10088
13.01.2009 4:25:24 Thread Start: поток сервера Thread[0].SH 620/2704 SSock=632
13.01.2009 4:25:24 Перехвачен коннект на 127.0.0.1:15112
13.01.2009 4:25:24 Thread Start: поток сервера Thread[0].SH 612/3872 SSock=624
13.01.2009 4:25:24 Thread Start: поток клиента Thread[0].CH 604/3528 CSock=628
13.01.2009 4:25:24 Thread Start: поток клиента Thread[0].CH 608/3760 CSock=628
13.01.2009 4:25:25 WSA error 10061/648
Вот такое вот выскакивает под вистой ультимейт 32бит..... все настройки пх по умолчанию...
Сервер l2.ru офф
nezabudkin
15.01.2009, 02:46
NLObP, так все таки, на РУ ОФФ можно ли из пакетхака пакеты посылать? (чтобы потом дисконект не получить?)
nezabudkin, можно... без коментариев как ...
убери галочку камеель грация и обхот смены Xor ключа кто нить подпишите в следующем релизе ( для С4)
Захожу на руофф, с пакетхаком. При попытке послать пакет на серв дальше выбрасывает. Revision: 81 не исправила это? :(
Или как можно запустить пакетхак чтоб работал на оффе?, с шилд консолью проблемы?
Glollin, Ranger используй он вроде эмулирует шилдконсоль.
Для ботов эмулиреут)) меня интересует, запускаеться ли пакетхак, а то отваливаеться клиент как пакет посылаешь :) а скрипты ГБ не на столько способны как пакетхак:)
vovanchik
18.01.2009, 03:05
Для ботов эмулиреут)) меня интересует, запускаеться ли пакетхак, а то отваливаеться клиент как пакет посылаешь :) а скрипты ГБ не на столько способны как пакетхак:)
+1
Через Ranger пакетхак запускается, и с гудбоем тоже работает надо только после коннекта надо снять галку перехвата.
vovanchik
18.01.2009, 13:33
Блин, а можно подробней, что и как запускать и где снять какую галочку.
а то я сегодня всю ночь практически шаманю и не пускает с пакетхаком хоть убей.
пакетхак 3.4.1.75 + l2ranger в routing.xml прописаны l2.exe и l2pbx.exe
dmitry501
19.01.2009, 04:00
пакетхак 3.4.1.75 + l2ranger в routing.xml прописаны l2.exe и l2pbx.exe
Какие настройки в phx? У меня так не получается, трафик не идет через пакетхак, хотя в логе пишется что внедрение/перехват, все ОК.
было б очень хорошо отделить пх от клиента полностью, есть инфа что скоро полетят бананы, а учитывая то что в шилдконсоле лежит много нипонятных функций которые никогда не использовались и конект уже идет непрямой ( клиент - сервер ), а клинт - шилд - шилдсервер - сервер, то самая уязвимая область именно "клинт - шилд", то идельным был бы перехват именно етого конекта, темболее что етот конект появляеться уже только при подключении к игровому серверу. Например как вариант делать перенаправление всего трафика с порта l2 вопрос только как ето реализовать :)
Кста уже ренджеры в л2 не ходят...
Да кстати л2рангер на руоффе непашет уже.... =(
Хочеться услышать мнение Хкора по поводу оффа. Насколько ситуация сложна? возможно ли будет сделать пкетхак чтоб он конектился к офу, чтоб его не выбрасывало после посылки пакета. В чем сейчас проблема? Или же сильно умную защиту сделала иннова? что врятли будет работать? спс :)
у меня защита диплома через пару недель, мне не до защит руофов...
:good: ок, будем ждать пару недель :) думаю пакетхак заработает через пару недель ;)
vovanchik
25.01.2009, 12:46
ндя...
Да кстати л2рангер на руоффе непашет уже.... =(
а что пашет?
Revision: 82
Author: nlobp
Date: 23:00:00, 27 января 2009 г.
Message:
[-] Устранил появление пустой строки в списке работающих программ при установке/снятии галочки перехват;
[-] Исправил ошибку определения типа пакета во вкладке "Посылка";
Изменил обработку ошибки разбора пакета во вкладке "Посылка" и "Вкладка";
Исправил орфографические ошибки в подсказках;
[!] Перевод надписей и сообщений на английский с помощью Promt Translator (не для SVN);
Кстати, а можно в посылке пакета подсвечивать внизу (в обоих блоках) участок, на котором стоит курсор в верхнем блоке? И наоборот, при выделении в нижних блоках участков - ставить на них курсор в верхнем блоке?
А то ей богу замучаешься найти место, где надо байтик подправить.
Есть предложение, для плагинов которые работают только на сбор данных окружающего мира, сделать режим перехвата пакетов без внедрения, по идее должно работать без внедрения в процесс не палится 100%, и включатся на лету ну если с ключем не будет проблемм...
исходник простешего снивера прикрепил
читает пакеты напрямую с сетевой карты... как я понял копии пакетов
работает только на прием
vovanchik
30.01.2009, 02:33
ну если на то пошло есть гораздо круче проект
называетцо Packet Sniffer SDK for Windows 4.1
http://3d2f.com/programs/39-907-packet-sniffer-sdk-for-windows-download.shtml
Вот он нормально работает, даже отправлять фрагмент умеет(и не выкидывает), правда они до серва не доходят :).
Вообще я считаю что пора бы уже написать какой нить драйвер, который на своём нулевом уровне перехватывал API. И не нужно мне писать что раз такой умный возьми и сделай. знаю что оч сложно, но это ох какая независимость будет...
Добавлено через 5 часов 49 минут
Есть предложение, для плагинов которые работают только на сбор данных окружающего мира, сделать режим перехвата пакетов без внедрения, по идее должно работать без внедрения в процесс не палится 100%, и включатся на лету ну если с ключем не будет проблемм...
исходник простешего снивера прикрепил
слушать не продлема, а вот втыкать ивытыкать беруши из процесса вот это проблема :)
vovanchik, для тех кто не умеет внимательно читать цитата: "для плагинов которые работают только на сбор данных"
что-то я не нашел у "Packet Sniffer SDK for Windows 4.1 " - открытого исходного кода... да и вообще... за него и денежку платить надо либо триалка...
о каком дравере ты говориш?
wanick,
vovanchik, предлагаю перенести в отдельную ветку данное обсуждение.
Revision: 83
Author: nlobp
Date: 01:55:00, 1 февраля 2009 г.
Message:
Небольшая правка текста подсказок к галочкам настроек;
Небольшая правка кода обработки дисконекта клиента/сервера;
Небольшая правка кода вывода ошибок сокета;
спс :) ждем:
Revision: 84
Author: nlobp
Date: ...(поскорее)
Message:
[!] Работает с РуОфф без ошибок ШК;
;)
[!] Работает с РуОфф без ошибок ШК;
Я не смогу сделать. Ждём xkora.
NLObP, далеко не факт что я смогу)
ЗЫ аааааа, один день до защиты диплома!!!! ещё половины подписей нет((((
хех... странно... при компиляции сорцов 83 ревизии наткнулся на 2 крита:
#1[Error] ExcepDialog.pas(536): Undeclared identifier: 'AnsiCrLf'
[Fatal Error] l2pbx.dpr(18): Could not compile used unit 'ExcepDialog.pas'решил данную проблему добавлением в ExcepDialog.pas в секццию uses JclAnsiStrings, в итоге uses стал выглядить так:unit ExcepDialog;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, AppEvnts,
JclSysUtils, JclDebug, JclAnsiStrings;
...
#2[Fatal Error] XorCoding.pas(5): File not found: 'Coding.dcu', лечиться путем правки l2pbx.dpr, а именно заменой строки: Coding in 'plugins\Coding.pas',на: Coding in 'Coding.pas',также следует поправить пути в демках(plugin_demo.dpr т plugin_demo2.dpr )
PS. Конечно же из-за разници в версиях графический интерфейс получился несколько кривоватый, но в целом полет нормальный 8-)
в окне отправки пакетов опять глючная проверка. Вставляю пакет, если удалить 1 знак виснет всё. Убери пожалуйста.
Баг:
Есть какие-либо скрипты "Скрипт1" и "Скрипт2".
В "Скрипт1" что-нибудь изменяем.
Жмем галочку напротив "Скрипт2", т.е. пытаемся подключить "скрипт2" - спрашивает "Сохранить изменения" - сохраняем. "Скрипт2" превращается в "Скрипт1" и текст его утерян. Так трагически погибло 2 интересных скрипта(
при компиляции сорцов 83 ревизии наткнулся на 2 крита
Что-то у меня не повторяется. Попробовал на ноутбуке, скачав с репозитория ревизию 83.
также следует поправить пути в демках(plugin_demo.dpr т plugin_demo2.dpr )
Это есть. Но лучше исходники плугинов ложить сразу в папку \plugins и там их отлаживать.
PS. Конечно же из-за разници в версиях графический интерфейс получился несколько кривоватый, но в целом полет нормальный 8-)
Не понял. Почему интерфейс кривой?
Добавлено через 3 минуты
в окне отправки пакетов опять глючная проверка. Вставляю пакет, если удалить 1 знак виснет всё. Убери пожалуйста.
Какая версия пакетхака? В 83 должно работать. Пример пакета кинь, я проверю.
Добавлено через 4 минуты
vhl, баг есть, надо править. Спасибо.
хех... забыл упомянуть что компилил в D7. И прикомпиляции там часть интерфейса смещаеться и некоторые компоненты липнут не так как надо...
Сложно будет добавить перехват нажатий клавишь?
Я так понял код надо размещать в DLL. Можно ли для этих целей будет использовать inject.dll чтобы не плодить доп библиотеки или она какая-то хитрая и лучше отдельную создавать?
Исходники версии 3.2.0 написаны в среде Borland Developer Studio 2006 с использованием следующих дополнительных библиотек компонентов:
- FastScript (http://fast-report.com/ru/products/fast-script.html)
- JCL (http://sourceforge.net/projects/jcl/)
- JVCL (http://sourceforge.net/projects/jvcl/)Хорошо бы в шапку добавить, а то пока соберешь - времени столько потратишь
vhl, добавил, а то и правда сложновато эту инфу найти)
Добавлено через 1 минуту
vhl, а насчет перехвата нажатий клавиш - зачем?, это во первых, ну и во вторых даже если это сделать то что программа должна делать с перехваченными нажатиями?)
а насчет перехвата нажатий клавиш - зачем?, это во первых, ну и во вторых даже если это сделать то что программа должна делать с перехваченными нажатиями?)Я использую этим в основном на олимпе для автоматизации действий, когда надо быстро реагировать на изменяющуюся ситуацию (не хотелось бы рассказывать все подробности - кто знает возможности программы, сам поймет). А проблема в том, что например в шоковском ИЛ клиенте нельзя пользоваться цифровыми кнопками для активации скилов с панелек, а можно использовать только текущую панель и кнопки f1-f12. Постоянно менять панели неудобно, вот я и думал забиндить либо на цифровые, либо на qwerty. Сейчас биндить можно только в файле users.ini, но количество комманд, которые можно послать серверу ограничены. Пока что я нашел только 2: MoveModeChange и WaitModeChange. Как забиндить социал экшены - понятия не имею, но у меня не получилось.
alexteam
07.03.2009, 19:42
Последняя ревизия и д7 с соответствующими пакетами для д7.
если не сложно - мелкие правки:
юнит ExcepDialog
+ обьявление в секцию конст.
AnsiCrLf = AnsiString(#13#10);
ибо ни в JclSysUtils ни JclDebug таких для семерки нет.
(кстати.. я тут почтитал. об этом уже xenus писал. добавте константу, блин -)
инк BFconst.inc
{$warnings off} в начало юнита.
ибо
http://img26.imageshack.us/img26/5112/woops.jpg
зы.
интуитивно понятный код. спасибо :)
зы2.
а по поводу [!] Работает с РуОфф без ошибок ШК;
вот как раз поэтому за сурсами и полез.. знакомые попросили покрутить в эту сторону -)
там весьма интересное обновление. гк научилось смотреть что и кто ему шлет. проксик скорей всего надо реализовывать прямо в внедряемой дллине в любом случае будет парадокс - гг защищает инжект -))
alexteam, в продолжение
в BlowFish.pas
interface
{$I BFconst.inc}
......
лучше перенести в implementation, вроде нет смысла делать глобальными два массива
Что-то не могу залезть на Шок она там не работает, или не там галочки поставил?(дальше логина не пропускает)
alexteam
26.03.2009, 00:47
Я так понимаю конект к ЛС вообще не обрабатывается,
тобишь что все что касается IsGamel, PacketProcesor(х,х,х, 2/1,х); модуля по работе с блоуфишем и т.д. и т.п. можно смело отправлять в корзину ?
или есть какието планы касаемо работы с лс ?
да хотелось бы чтоб работу с логин сервером наоборот дороботали - на некоторых серверах используется шифрование на основе данных с ЛС, надо б и этот трафик прогонять через newxor.dll.
Я так понимаю конект к ЛС вообще не обрабатывается,
тобишь что все что касается IsGamel, PacketProcesor(х,х,х, 2/1,х); модуля по работе с блоуфишем и т.д. и т.п. можно смело отправлять в корзину ?
или есть какието планы касаемо работы с лс ?
Имхо, если не делать бота, самостоятельно работающего с сервером, то всё это не нужно.
alexteam
26.03.2009, 18:00
Имхо, если не делать бота, самостоятельно работающего с сервером, то всё это не нужно.
Даже если делать бота, это не нужно. процедуру логина на ЛС можно возложить на плечи клиента, и не заморачиватся, имхо.
Можно ли сделать так, чтобы программа не сохраняла лог пакетов (например галочку соответствующую), а то за пол часа работы она насовала мне двадцать мегабайт)
rootKit, отключи сохранение пакетов)
rootKit, отключи сохранение пакетов)
Тогда ж я не буду видеть в окошке какие пакеты приходят) так неинтерестно)
Просто пусть показывает но на винт не сбрасывает)
Кнопка "Запоминать пакеты и сохранять логи"... Разнести ее на 2: "Запоминать пакеты" и "сохранять логи"
Я так понял сброс в лог совмещен с удалением из памяти пакетов, которые были запомнены до этого, тогда просто пусть например удаляются самые первые в списке пакеты, освобождая место следующим)
alexteam
27.03.2009, 22:01
здрасте, сохранение пакетов занимается только сохранением пакетов при переполнении стринглиста хранящего пакеты и при разрушении тунелля.
стринглист чиститься при переполнении. независимо от включеной/выключеной опции сохранения пакетов. и только при переполнении. так что запоминать должно.
под переполнением я подразумеваю превышение кол-ва записей в стринглисте по отношению к опции MaxLinesInPktLog в конфиге.
правда не помню, один ли там стринглист под это дело отводился.. или несколько.. возможно он чистился при переключении активных соединений
правда не помню, один ли там стринглист под это дело отводился.. или несколько.. возможно он чистился при переключении активных соединений
Стринглист на каждое соединение и чистится при превышении MaxLinesInPktLog. Можно прописать очень большое число в MaxLinesInPktLog в конфиге и не будет так часто сохраняться, но уж если начнет, то надолго привиснет.
alexteam
28.03.2009, 12:37
надо переделать под tfilestream :confused:
alexteam
02.04.2009, 21:32
из процедуры RefreshScripts..
Scripts[i].fsScript.Lines.LoadFromFile(ExtractFilePath(Param Str(0))+'Scripts\'+SearchRec.Name);
Scripts[i].fsScript.Clear;
Scripts[i].Name:=Copy(SearchRec.Name,1,Length(SearchRec.Name )-4);
Scripts[i].Compilled:=False;
я по поводу порядка первых 2х строчек..
за что отвечает клир ?
alexteam, мм, повидимому за обнуление скриптового движка, но не за обнуление сорцев скрипта
alexteam
04.04.2009, 01:31
Немного по ревизии 84.
во первых это АЛЬФА., со всемы вытекающими обстоятельствами.
очень много нового кода и большинство кусков которые брались из предыдущего ревижина переписаны,
соответственно может непредсказуемо выбить там где всегда было норм. и наоборот, там где выбивало пройти мягко.
багрепорты привествуються.
изменения в скриптинге.
UserTab, showtab; hidetab; заменены на
UserForm, ShowForm;,HideForm; соттветственно.
UserForm экземпляр Tform;
В плагины в SetStruct передается екземпляр следующего класса
TPluginStruct = class (tobject)
private
public
userFormHandle: THandle;
ConnectInfo : tConnectInfo;
function ReadC(const pck: string; const index:integer):byte; Virtual; Abstract;
function ReadH(const pck: string; const index:integer):word; Virtual; Abstract;
function ReadD(const pck: string; const index:integer):integer; Virtual; Abstract;
function ReadF(const pck: string; const index:integer):double; Virtual; Abstract;
function ReadS(const pck: string; const index:integer):string; Virtual; Abstract;
function ReadCEx(const pck; const index:integer):byte; Virtual; Abstract;
function ReadHEx(const pck; const index:integer):word; Virtual; Abstract;
function ReadDEx(const pck; const index:integer):integer; Virtual; Abstract;
function ReadFEx(const pck; const index:integer):double; Virtual; Abstract;
function ReadSEx(const pck; const index:integer):string; Virtual; Abstract;
procedure WriteC(var pck: string; const v:byte; ind:integer=-1); Virtual; Abstract;
procedure WriteH(var pck: string; const v:word; ind:integer=-1); Virtual; Abstract;
procedure WriteD(var pck: string; const v:integer; ind:integer=-1); Virtual; Abstract;
procedure WriteF(var pck: string; const v:double; ind:integer=-1); Virtual; Abstract;
procedure WriteS(var pck: string; const v:string; ind:integer=-1); Virtual; Abstract;
procedure WriteCEx(var pck; const v:byte; ind:integer=-1); Virtual; Abstract;
procedure WriteHEx(var pck; const v:word; ind:integer=-1); Virtual; Abstract;
procedure WriteDEx(var pck; const v:integer; ind:integer=-1); Virtual; Abstract;
procedure WriteFEx(var pck; const v:double; ind:integer=-1); Virtual; Abstract;
procedure WriteSEx(var pck; const v:string; ind:integer=-1); Virtual; Abstract;
function CreateAndRunTimerThread(const interval, usrParam: Cardinal;
const OnTimerProc: TOnTimer): Pointer; Virtual; Abstract;
procedure ChangeTimerThread(const timer: Pointer; const interval: Cardinal;
const usrParam: Cardinal = $ffffffff;
const OnTimerProc: TOnTimer = nil); Virtual; Abstract;
procedure DestroyTimerThread(var timer: Pointer); Virtual; Abstract;
function StringToHex(str1,Separator:String):String; Virtual; Abstract;
function HexToString(Hex:String):String; Virtual; Abstract;
function DataPckToStrPck(var pck): string; Virtual; Abstract;
procedure SendPacketData(var pck; const tid: integer; const ToServer: Boolean); Virtual; Abstract;
procedure SendPacketStr(pck: string; const tid: integer; const ToServer: Boolean); Virtual; Abstract;
procedure SendPacket(Size: Word; pck: string; tid: integer; ToServer: Boolean); Virtual; Abstract;
function getConnectionName(id : integer):string; Virtual; Abstract;
function getConnectioidByName(name : string):integer; Virtual; Abstract;
Function GoFirstConnection:boolean; Virtual; Abstract;
Function GoNextConnection:boolean; Virtual; Abstract;
procedure ShowUserForm(ActivateOnly:boolean); Virtual; Abstract;
Procedure HideUserForm; Virtual; Abstract;
end;
думаю труда разобратся не составит.
сама SetStruct должна выглядеть приблизительно так:
function SetStruct(const struct: PPluginStruct): Boolean; stdcall;
begin
ps := TPluginStruct(struct^);
Result:=True;
end;
TPacket в OnNewPacket:
TCharArray = array[0..$FFFF] of AnsiChar;
TPacket = packed record case Integer of
0: (Size: Word;
Data: array[0..$FFFD] of Byte);
1: (PacketAsByteArray: array[0..$FFFF] of Byte);
2: (PacketAsCharArray: TCharArray);
3: (pckSize: Word;
pckId: Byte;
pckData: array[$FFFC] of Byte);
end;
перебор ВСЕХ имеющихся соединений происходит приблизительно вот так
(вырезка из старого демо)
with ps do
if GoFirstConnection then
repeat
cntHP := ConnectInfo.ConnectID;
Say('Для выбора нужного соединения наберите в чате слово set и отправьте');
until GoNextConnection;
в общем можно просто глянуть демо в PluginCodding\
Структуры в units\usharedstructs.pas
при использовании LSP прописывать ПОЛНЫЙ путь к длл.
попытайтесь исключить пробелы в пути и русские буквы.
лучше кинуть на c:\ саму длл.
сам лсп модуль в тестовом режиме.
alexteam, ух, вот это я понимаю изменения)
Добавлено через 45 минут
эх, думал у тебя LSP будет лучше реализован чем у меня.., но основательно полазив по сорцам установки/удаления провайдера понял что у тебя ещё хуже.., с нодом может и пашет но со всякими проксифиерами, трафик компрессорами и т.п. пахать это будет крайне врятли...
ЗЫ не понимаю почему автор примеров (которые ты использовал) для работы со списком провайдеров юзает реестр ибо это до хрена трудно читаемого кода, который при необходимости изменить не очень просто, и вообще при этом много лишнего делать приходиться
всё что делается через реестр можно сделать намного проще, удобнее и нагляднее с помощью функций:
WSCEnumProtocols
WSCInstallProvider
WSCWriteProviderOrder
WSCDeinstallProvider
alexteam
04.04.2009, 11:57
хм, а по какой причине не должно работать ? -)
что там трудно читаемо ? добавление ветки реестра регистрирующего модуль в систему и удаление онной ?
мы этим просто возлагаем процедуру подгрузки в приложение на саму систему.
хотя, покручу в сторону этих самых функций, авось чегото напишу получше -)
зы. да и больше интересует сама работоспособность пх. лсп пока второстепенен.
зы2. хотелось бы увидеть на свн систему тикетов.
зы3. сам профиксиер ставиться так же.
-----( HKLM\SYSTEM\CurrentControlSet\Services\WinSock2\Pa rameters\Protocol_Catalog9\Catalog_Entries )-----
"PROXIFIER LSP" - "Initex Software" - C:\WINDOWS\system32\PrxerDrv.dll
зы4. да, едиснтвенной проблеммой с самим профиксиером может быть только то что он будет добавлять авторизацию на соцк в первые пакеты, поэтому мой лсп должен вызываться раньше. но ведь это я могу реализовать в своем лсп так же, так что в тз добавился пункт "поддержка работы через соцк5 прокси"
По 84 версии. Сумбурно.
1. Очень не привычна много-оконность.
2. RAW-лог сам сохраняется, если стоит галочка "Дать возможность сохранять RAW логи трафика"? Мне нужно чтобы в автомате сохранялось.
3. Как отключить показ закладок типа [Proxy]#1234? На каждой кнопку жать?
4. Кнопка показать/спрятать фильтры - только показывает.
5. Если нажать в фильтре "Применить", то сбивается текущая закладка (обновляются все по очереди) и останавливается на последней.
6. Кнопка "Следить за последним пришедшим пакетом" следит в отжатом состоянии, может переименовать ее тогда типа в лок/унлок?
7. У пакетов ProtocolVersion, KeyInit ID - однобайтное, а здесь двухбайтное.
Пробовал на русоффе, астериосе (грация) - на выборе сервера привисает.
Пробовал на абиссе (интерлюдия), перехватывает, пакеты показывает, девять закладок с [Proxy]#... и одну с моим чаром.
Через некоторое время коннект привисает.
NLObP, на Руофе подвисает из-за того что там ШилдКонсоль шаманит сразу после выбора сервера.
Народ дайте тоже потестить :)
alexteam
04.04.2009, 15:55
1. дело времени. имхо.
2. в опциях галочка разрешает создавать tmemorystream. для каждого соединения. сохранения равлога по требованию. могу сделать автоматом но надо ли ?
3. Обрати внимание на "кнопку-замок" в правой части тулбара в фрейме соединения, и на опцию "не закрывать "окно" соединения после дисконнекта" в опциях которая влияет на установку этой "кнопки-замка" при создании фрейма.
если этот замок не стоит то фрейм будет автоматически дестроится после дисконекта (оставляя только рабочие соединения и соединения в которых этот замок установлен вручную), в противном случае, дестроиться только по кнопке рядом с замочком -)
а те вкладочки - это скорей всего пинг при выборе сервера. соединение осуществляется и проходит всего лишь 1 пакет.
4. поправлю -)
5. ой, это с введением прогрессбара связано. исправлю.
6. добавлю not (был невнимателен)
7. хм, гдето в отрисовке накосячил, или ты только что подсказал о наличии более серьезного бага.
про русофф. прокол его дешифрован ?.
там первые байты пакетов совсем не означают их длинну. естественно он виснет. старый пх так же виснет.
нужен отдельный алгоритм декриптовки траффика для русофа. :(
про абисс я знаю. там чтото станное, сейчас бегаю на шоке 3м. такого не наблюдаю (специфика клиента абиса ? м.б. защита ?)
добавлено:
murc, бери, кто недает. ссылки в первом посту. еще со вчера лежит -)
Добавлено через 43 минуты
кажется нашел баг в uencdec связаный с скапливанием вызовов sendmessage :X
этот баг теоретически влечет за собой сбои в работе с лсп. и является первопричиной вылетов при вмешивании в протокол (измененние пакета/отсылка своего)
капец. -(
murc, там уже не ШК шаманит.., шаманит с шифрацией уже сам клиент, ШК что то другое делает...
2. в опциях галочка разрешает создавать tmemorystream. для каждого соединения. сохранения равлога по требованию. могу сделать автоматом но надо ли ?
Может быть, если были пакеты, то сохранять автоматом?
Добавлено через 2 минуты
а те вкладочки - это скорей всего пинг при выборе сервера. соединение осуществляется и проходит всего лишь 1 пакет.
Во всех есть KeyInit, NetPing
alexteam, вот кста мой вариант установки/удаления провайдера а так же показа списка провайдеров и всех их параметров + мой провайдер логирующий трафик shieldConsole в файлы - 275
ЗЫ тока из за неудачных попыток совместной работы с другими провами я сделал жесткую привязку перехвата к провайдеру с CatalogEntryId = 1001, тоесть стандартному провайдеру TCP/IP
про абисс я знаю. там чтото станное, сейчас бегаю на шоке 3м. такого не наблюдаю (специфика клиента абиса ? м.б. защита ?)
На абиссе иногда бывает такое, клацаешь бежать куда-нибудь, чар разворачивается и бежит в другую сторону, и показалось окошки отрываются без запроса. Может трафик подпорчивается?
alexteam
04.04.2009, 16:18
как только попадаешь в диалог выбора серверов, клиент инициализирует конекты к серверам дабы выяснить отклик.
вкладки - это остатки от уже отработавших конектов.
по названию вкладок вообще:
шаблон для них
Charname
либо
[type]ConnectionId
где type = Lsp/Proxy
ConnectionId = Клиентский сокет клиента(при использовании лсп) / Серверный, локальный сокет сокетного движка (при использовании инжект/соцкс5)
Может быть, если были пакеты, то сохранять автоматом?
сделать то не проблема, но зачем ?
дабы плодить кучу файликов с теми же нет пингами ?
сохранить то его можно в любой момент времени, вкладка с активным чаром лично мною всегда вручную ставиться на замок. после дисконнекта данные никуда не пропадают.
их можно по прежнему сохранить.
Добавлено через 1 минуту
NLObP, #581й пост. всамом низу. думаю все решаемо -)
дабы плодить кучу файликов с теми же нет пингами ?
Нет, как раз с одним двумя пакетами и не нужно бы сохранять. Я про то чтобы можно было потом анализ проводить из-за чего сбоит. Кстати в рав-логе нет размера пакета - это так и надо? И что за закладка там "Лог проверки"?
alexteam
04.04.2009, 16:36
Нет, как раз с одним двумя пакетами и не нужно бы сохранять. Я про то чтобы можно было потом анализ проводить из-за чего сбоит.
сбойнуло - сохранил. не сбойнуло - не сохранил.
данные НИКУДА не денуться. кнопку сохранить можно тыкнуть всегда.
Кстати в рав-логе нет размера пакета - это так и надо?
ты про то как он физически выглядит ? если да - есть там все. все что нужно.
procedure Ttunel.AddToRawLog(dirrection: byte; var data; size: word);
var
dtime: Double;
begin
if not isRawAllowed then exit;
RawLog.WriteBuffer(dirrection,1); //направление пакета
RawLog.WriteBuffer(size,2); //длинна пакета (НЕ ПАКЕТА ЛИНЕЙКИ, а порции данных пришедших от сервера или ушедших на сервер)
dtime := now; //время
RawLog.WriteBuffer(dtime,8); //пишем время
RawLog.WriteBuffer(data,size); //пишем саму порцию данных
end;
единственное что следует учесть. что в равлоге. пакеты недекриптованные, и даже не разбитые на порции длинна+данные. это именно то что приходит от сервера и уходит на сервер. в одной порции может быть 1,2,3 или больше пакетов (линейки). либо полпакета линейки пришедшие одним тцп пакетом.
т.е. без обработки вообще.
и нужна эта опция в первую очередь больше для тестирования невхоров. а проверка стабильности приложения - это уже побочный, так сказать бонус.
проверка невхоров.. как ?. просто. береться клиент подопытного сервера, цепляеться на него пакетхак с разрешенным сохранением равлогов и отключеной декриптовкой пакетов. лезем на сервер, тусуемся пока по расчету не наберем достаточное кол-во данных чтобы выяснить правильно ли работает наш невхор. сохраняем равлог. вырубаем клиент.
подгружаем невхор в равлог, подгружаем сам равлог.
происходит перегонка данных через невхор с проверкой того как пакет выглядел до декодирования равхором и как он выглядел после кодирования пакета тем же равхором. в идеале они должны быть идентичны.
если обнаруживаются несответствия они выводяться в лог (номер пакета, пакет до дешифровки, дешифрованый пакет, пакет после шифровки)
это гораздо проще и главное быстрее чем каждый раз подгружать невхор в сам пакетхак и запускать клиент. при этом данные можно обработать, и не путаться (иниткей к примеру будет один и тот же, для проверки с другим иниткеем, повторите действие с созданием равлога, будет другой иниткей.)
главное что все можно будет возпроизвести.
да, эта часть требует доработки, и будет дорабатываться, ибо не совсем удобный просмотр, но пока, первоочередная задача - довести пх по стабильности работы с протоколом линейки до показателей старого пх. проверить скрипты и плугины. а дальше уже мастерить второстепенное.
ты про то как он физически выглядит ? если да - есть там все. все что нужно
Да, в файле действительно, много чего есть. Добавь вывод размера в закладке Текущее состояние.
alexteam
04.04.2009, 16:51
хорошо.
заменил
ByteArrayToHex(encdec.Packet.Data[0], encdec.Packet.Size-2)
на
ByteArrayToHex(encdec.Packet.PacketAsByteArray[0], encdec.Packet.Size)
Новая версия пакетхака на ФТП и СВН (см. первое сообщение). Пробуйте. Тестируйте. Сообщайте о багах.
Revision: 86
Author: alexteam
Date: 21:17:24, 4 Апреля 2009 г.
Message:
[+] Переведены опции.
Обработка пакетов визуальной фреймовой частью запускаеться теперь по PostMessage.
В сокетном движке востановленна логика переменных noFreeOnServerDisconnect и noFreeOnClientDisconnect.
[-] исправлена галочка по выбору текущего языка (нужно будет добавить запись ее состояния в Options.ini)
[-] Найдена и исправлена мелкая ошибка приводившая к невозможности отправки скриптами пакетов. Раотоспособность скриптов и движка проверена на шок3
Revision: 85
Author: alexteam
Date: 21:17:24, 4 Апреля 2009 г.
Message:
[!] Положено начало для локализации. используемая компонента на фтп. переведено главное окно.
[!] Временно отключена поддержка LSP модуля. решил сначала довести тунели до ума.
[+] Горячие клавиши для приложения (показ, переключение окон)
[+] на свн залита папка Build. со стандартным набором инишек.
много мелких правок
Revision: 84
Author: alexteam
Date: 19:51:44, 3 Апреля 2009 г.
Message:
[!] Альфа версия, переписано большинство кода, для совместимости требует небольшие изменения скриптов и существенные изменения в ваших плагинах.
Скрипты: UserTab заменен на UserForm, showtab на ShowForm, hidetab на HideForm. подробности касательно плагинов ищите на форуме.
Интерфейс. Требуться немного привыкнуть к его многооконности, в будущем планируеться добавление горячих клавиш для быстрого переключения между дочерними формами.
При обновлении списка пакетов не должно быть заметных фризов приложения.
Неограниченое кол-во скриптов, соединений, плагинов.
Доработан сокетный движек. С синхронизацией потоков надеюсь проблемм возникать больше не будет.
[+] Редактор скриптов, просмотр пакетов - многостраничные.
[+] Raw логи протокола.
[+] Перехват трафика с помошью Layered Service Provider (LSP). (тестовый режим)
[-] List index out of bounds, везде где нашел.
[-] Econvererror так же.
[-] Баг когда при обработке пакетов происходила ошибка, и как следствие не вызывался lines.endupdate что приводило к тому что все что находилось в списке не прорисовывалось.
[-] Так как преимущественно используются классы, большинство возможных утечек памяти исключены.
[?] Подсказки в статусбаре крайне неудобно отрабатываются. м.б. имеет смысл вернуть им хинтообразную форму, а статусбар оставить для отображения последней реакции приложения на действия пользователя ?
[?] Локализация.
Добавлено через 11 минут
Редакция 88 - alexteam
Последнее изменение: 2009-04-05 16:56:17 GMT
[+] В фрейме соединения кнопка (замок) защищающая вкладку от закрытия при дисконекте, при включенном состоянии и дисконекте - затеняется.
[-] Починил запись в RAW лог. писались нули.
[-] Исправлено неназначение переменных ConnectID и ConnectName перед стартом скрипта в вкладке «дополнительно» визуального фрейма соединения.
[+] при остутствующих соединениях PageControl находящийся поверх Label’a с версией пх и надписью «нет соединений» будет убираться.
[-] реакция л2пх на установленную «Сохранять лог перед авто очисткой» исправлена. При установленной он будет автоматически сохранять лог перед очисткой происходящей каждые MaxLinesInPktLog пакетов.
[+] на англ. язык переведен фрейм соединения, разбора логов, работа с RAW пакетами. Несколько пропущенных строк в опциях.
[+] Все формы сохраняют свои позиции и размер. (windows.ini)
[+] Текущий язык теперь сохраняется (options.ini)
alexteam, набросал тут программку для удобного просмотра списков SPI модулей + можно их менять местами и удалять, может пригодиться: 277
ЗЫ поже ещё сделаю возможность изменения параметров модулей и возможность добавления новых модулей что бы можно было на полную поиграться с LSP/TSP/NSP ;)
alexteam
06.04.2009, 02:21
я пока временно забил на лсп вообще.
ее установка отключена в опциях и галочка затенена. вернусь к ней как только пх будет делать то что он делает без лсп на пятерочку.
Добавлено через 17 минут
Редакция 89 - 2009-04-05 19:55:23 GMT
Всем формам установлено position=poDesigned (не применялись)
[-] досадная ошибка в одном символе приводящая к тому, что в просмотре был всего лишь 1 пакет.
Обновить информацию из *.ini - в главном меню, перезагружает данные и обновляет списки пакетов во всех открытых соединениях и логах.
[+] Кнопочка обновить в просмотре, обновляющая данные с ini файлов и пакеты в текущем соединении.
Добавлено через 6 минут
по свну.
trash.bat - пробегаеться и убивает все дку, *.~* файлы.
Release.bat быстро собирает релиз на основе папки билд (туда предварительно уже должна быть скомпилен пх, инжект и лсп. в их билдпатче она и указана.) остается только переименовать заархивироаный файл.
Добавлено через 1 час 17 минут
xkor, кстати, что за компонента в нижней части используется ?
alexteam
06.04.2009, 23:22
Редакция 90 - 2009-04-06 16:36:04 GMT
Локализировал все, по идее.
Равлог пишется теперь в временный файл используя файлстрим (не кушает память).
[-] 2 бага в обработке равлога.
Используется немного другой редактор для скриптов, надесь работать станет приятней.
Редактор в "дополнительно" (соединения) удален, вместо него используется фрейм основного редактора.
Изменен хоткей вызова формы работы с равлогами (старый хоткей используется функцией "найти и заменить" в редакторе)
хинты не выводиться теперь в таскбар. а отображаются как обычно. связано с тем что таскбар нужен для более важных целей, а именно, показа последнего события.
[+] Кнопка "сохранить порядок" в скриптах, сохраняет порядок и состояние (отмечен или нет) в options.ini и использует эти настройки при следующих загрузках пх. (При загрузке будет так же происходить компиляция скриптов, поэтому пх может загружаться довольно долго.)
комментарий: в течении полутора часа проверялся на работоспособность на шок-3. вроде бы без зацепок.
Выложена так же на фтп.
ссылки на свн и на готовый билд в первом сообщении.
честно, не видел ни одного багрепорта от людей, окромя NLObP ее что, никто не смотрит чтоль ? -)
пересобрал. обнаружил мелкий недочет в сеттингах и убрал пометку "а" с главного окна. ибо уже со вчера не а. если качали билд раньше времени редактирования этого поста - перетяните. на свн из за такой мелочи комитить не буду.
Добавлено через 1 час 41 минуту
Редакция 91 - 2009-04-06 18:17:27 GMT
[-] баг в SavePacketLog приводящий к Access violation при логине в игру. (thx NLObP)
[-] баг связаный с несохранением опций (либо их не применением)
убран статус альфа.
как кролики -)
APXAHGEJI
07.04.2009, 11:57
Сегодня опробовал последнюю версию.
При коннекте выдает ошибку. Если просто закрыть, то есть шанс что перейдет к выбору серва. Если нажать ОК то вываливается еще куча ошибок и происходит дисконект.
Вот лог ошибки Exception class: EAccessViolation
Exception message: Access violation at address 005C0397 in module 'l2ph.exe'. Read of address 000003BC.
Exception address: 005C0397
------------------------------------------------------------------------------
Stack list, generated 07.04.2009 11:53:11
(001BF397){l2ph.exe } [005C0397] uVisualContainer.TfVisual.AddPacketToAcum (Line 1884, "units\uVisualContainer.pas" + 15) + $3
(001BF329){l2ph.exe } [005C0329] uVisualContainer.TfVisual.AddPacketToAcum (Line 1876, "units\uVisualContainer.pas" + 7) + $0
(001BF38F){l2ph.exe } [005C038F] uVisualContainer.TfVisual.AddPacketToAcum (Line 1879, "units\uVisualContainer.pas" + 10) + $4D
(000014AC){l2ph.exe } [004024AC] System.SysFreeMem + $164
(000014D4){l2ph.exe } [004024D4] System.SysFreeMem + $18C
(001C8316){l2ph.exe } [005C9316] uMain.TL2PacketHackMain.NewPacket (Line 254, "units\uMain.pas" + 6) + $16
(000A6B64){l2ph.exe } [004A7B64] Controls.TControl.WndProc + $188
(000A8D6D){l2ph.exe } [004A9D6D] Controls.TWinControl.GetControl + $21
(000A8DD5){l2ph.exe } [004A9DD5] Controls.TWinControl.Broadcast + $2D
(000A9BC3){l2ph.exe } [004AABC3] Controls.TWinControl.WndProc + $157
(0008FD05){l2ph.exe } [00490D05] Forms.TCustomForm.WndProc + $421
(000A9840){l2ph.exe } [004AA840] Controls.TWinControl.MainWndProc + $2C
(0002FE24){l2ph.exe } [00430E24] Classes.StdWndProc + $14
(000BF66D){l2ph.exe } [004C066D] JclPeImage.TJclPeExportFuncList.Destroy + $25
(00060009){l2ph.exe } [00461009] ComCtrls.TCustomTabControl.TabsChanged + $31
(0005F6FA){l2ph.exe } [004606FA] ComCtrls.TTabStrings.Insert + $B2
(000A6934){l2ph.exe } [004A7934] Controls.TControl.Perform + $24
(0002510B){l2ph.exe } [0042610B] Classes.TStrings.InsertObject + $17
(000610FB){l2ph.exe } [004620FB] ComCtrls.TPageControl.InsertTab + $3B
(00060876){l2ph.exe } [00461876] ComCtrls.TTabSheet.SetTabShowing + $1E
(000608C8){l2ph.exe } [004618C8] ComCtrls.TTabSheet.UpdateTabShowing + $18
(000610B7){l2ph.exe } [004620B7] ComCtrls.TPageControl.InsertPage + $1B
(000607BC){l2ph.exe } [004617BC] ComCtrls.TTabSheet.SetPageControl + $2C
(0006075C){l2ph.exe } [0046175C] ComCtrls.TTabSheet.ReadState + $28
(0002803D){l2ph.exe } [0042903D] Classes.TReader.ReadComponent + $11D
(000293B0){l2ph.exe } [0042A3B0] Classes.TReader.ReadValue + $8
(00028255){l2ph.exe } [00429255] Classes.TReader.ReadDataInner + $89
(000281C3){l2ph.exe } [004291C3] Classes.TReader.ReadData + $67
(0002EBD5){l2ph.exe } [0042FBD5] Classes.TComponent.ReadState + $1
(000A4B65){l2ph.exe } [004A5B65] Controls.TControl.ReadState + $2D
(000A8071){l2ph.exe } [004A9071] Controls.TWinControl.ReadState + $25
(0002803D){l2ph.exe } [0042903D] Classes.TReader.ReadComponent + $11D
(000293B0){l2ph.exe } [0042A3B0] Classes.TReader.ReadValue + $8
(00028255){l2ph.exe } [00429255] Classes.TReader.ReadDataInner + $89
(00028194){l2ph.exe } [00429194] Classes.TReader.ReadData + $38
(0002EBD5){l2ph.exe } [0042FBD5] Classes.TComponent.ReadState + $1
(000A4B65){l2ph.exe } [004A5B65] Controls.TControl.ReadState + $2D
(000A8071){l2ph.exe } [004A9071] Controls.TWinControl.ReadState + $25
(00028F95){l2ph.exe } [00429F95] Classes.TReader.ReadRootComponent + $1D5
(000263D6){l2ph.exe } [004273D6] Classes.TStream.ReadComponent + $32
(00022487){l2ph.exe } [00423487] Classes.InternalReadComponentRes + $57
(00022611){l2ph.exe } [00423611] Classes.InitComponent + $79
(000A9BC3){l2ph.exe } [004AABC3] Controls.TWinControl.WndProc + $157
(00023280){l2ph.exe } [00424280] Classes.TThreadList.UnlockList + $4
(0000117F){l2ph.exe } [0040217F] System.TryHarder + $BB
(00031614){l2ph.exe } [00432614] Graphics.TResourceManager.Unlock + $4
(00031781){l2ph.exe } [00432781] Graphics.TResourceManager.FreeResource + $81
(0000117F){l2ph.exe } [0040217F] System.TryHarder + $BB
(0000130B){l2ph.exe } [0040230B] System.SysGetMem + $153
(0000132E){l2ph.exe } [0040232E] System.SysGetMem + $176
(00002797){l2ph.exe } [00403797] System.TObject.NewInstance + $13
(00002B57){l2ph.exe } [00403B57] System.@ClassCreate + $7
(00002BAF){l2ph.exe } [00403BAF] System.@AfterConstruction + $7
(000027CC){l2ph.exe } [004037CC] System.TObject.Create + $10
(000226A2){l2ph.exe } [004236A2] Classes.InitInheritedComponent + $62
(0008E6BB){l2ph.exe } [0048F6BB] Forms.TCustomFrame.Create + $5F
(0000132E){l2ph.exe } [0040232E] System.SysGetMem + $176
(0000117F){l2ph.exe } [0040217F] System.TryHarder + $BB
(00031614){l2ph.exe } [00432614] Graphics.TResourceManager.Unlock + $4
(00031781){l2ph.exe } [00432781] Graphics.TResourceManager.FreeResource + $81
(00031614){l2ph.exe } [00432614] Graphics.TResourceManager.Unlock + $4
(00031813){l2ph.exe } [00432813] Graphics.TResourceManager.ChangeResource + $63
(00032A4A){l2ph.exe } [00433A4A] Graphics.TBrush.SetData + $2A
(000A9BC3){l2ph.exe } [004AABC3] Controls.TWinControl.WndProc + $157
(00032AC2){l2ph.exe } [00433AC2] Graphics.TBrush.SetColor + $26
(000A6934){l2ph.exe } [004A7934] Controls.TControl.Perform + $24
(000029EC){l2ph.exe } [004039EC] System.@CallDynaInst + $4
(000A5676){l2ph.exe } [004A6676] Controls.TControl.SetVisible + $32
(00002BAF){l2ph.exe } [00403BAF] System.@AfterConstruction + $7
(00060605){l2ph.exe } [00461605] ComCtrls.TTabSheet.Create + $4D
(001C8475){l2ph.exe } [005C9475] uMain.TL2PacketHackMain.NewAction (Line 312, "units\uMain.pas" + 43) + $9
(00002A5B){l2ph.exe } [00403A5B] System.TObject.Dispatch + $13
(000A6B64){l2ph.exe } [004A7B64] Controls.TControl.WndProc + $188
(000A9BC3){l2ph.exe } [004AABC3] Controls.TWinControl.WndProc + $157
(0008FD05){l2ph.exe } [00490D05] Forms.TCustomForm.WndProc + $421
(000A9840){l2ph.exe } [004AA840] Controls.TWinControl.MainWndProc + $2C
(0002FE24){l2ph.exe } [00430E24] Classes.StdWndProc + $14
(000BF66D){l2ph.exe } [004C066D] JclPeImage.TJclPeExportFuncList.Destroy + $25
(00096143){l2ph.exe } [00497143] Forms.TApplication.ProcessMessage + $13
(000961EA){l2ph.exe } [004971EA] Forms.TApplication.HandleMessage + $A
(0009640A){l2ph.exe } [0049740A] Forms.TApplication.Run + $96
(001CA224){l2ph.exe } [005CB224] l2ph.l2ph (Line 54, "" + 19) + $2
------------------------------------------------------------------------------
System : Windows XP Professional, Version: 5.1, Build: A28, "Service Pack 3"
Processor: AMD, AMD Athlon(tm) 64 Processor 3200+, 2200 MHz MMXex 3DNow!ex 64 bits DEP
Memory: 2046; free 1109
Display : 1280x1024 pixels, 32 bpp
------------------------------------------------------------------------------
List of loaded modules:
[003C0000] C:\Program Files\4t Tray Minimizer\ShellEh440.dll
<00400000> 4.4.0.0 - 4.4.0.0
4t Tray Minimizer Shell Extensions
[003E0000] C:\Program Files\SuperCopier2\SC2Hook.dll
<00400000> 2.0.0.16 - 2.0.0.16
SuperCopier2 Hook
[00400000] C:\Documents and Settings\Ромчик\Рабочий стол\Линейка\l2phx\l2ph.exe
3.5.1.91 - 3.5.1.91
[01310000] C:\Program Files\VolumeControl2\LHook.dll
<00400000> (no version info)
[01570000] C:\WINDOWS\system32\Amhooker.dll
<10000000> 7.64.0.0 - 7.64.0.0
Amhooker
[01630000] C:\Program Files\KMaestro\HidKeybd.dll
<00400000> 1.0.0.0 - 1, 0, 0, 0
KeyMaestro HID program
[01750000] C:\WINDOWS\system32\SETUPAPI.dll
<77910000> 5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2111)
Windows Setup API
[08000000] C:\Program Files\Punto Switcher\pshook.dll
3.0.0.67 - 3, 0, 0, 67
Punto Switcher hook module
[10000000] C:\Program Files\VisualTaskTips\VttHooks.dll
(no version info)
[5B260000] C:\WINDOWS\system32\uxtheme.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Библиотека тем UxTheme (Microsoft)
[68E60000] C:\WINDOWS\system32\HID.DLL
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2108)
Hid User Library
[698B0000] C:\WINDOWS\system32\hnetcfg.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Диспетчер конфигурации домашней сети
[71A30000] C:\WINDOWS\system32\mswsock.dll
5.1.2600.5625 - 5.1.2600.5625 (xpsp_sp3_qfe.080620-1309)
Расширение поставщика службы API Microsoft Windows Sockets 2.0
[71A70000] C:\WINDOWS\System32\wshtcpip.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Windows Sockets Helper DLL
[71A80000] C:\WINDOWS\system32\WS2HELP.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Модуль поддержки Windows Socket 2.0 для Windows NT
[71A90000] C:\WINDOWS\system32\WS2_32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Windows Socket 2.0 32-Bit DLL
[71AB0000] C:\WINDOWS\system32\wsock32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
32-разрядная библиотека Windows Socket
[72FC0000] C:\WINDOWS\system32\winspool.drv
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Драйвер диспетчера очереди Windows
[746E0000] C:\WINDOWS\system32\MSCTF.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Библиотека (DLL) MSCTF-сервера
[74DF0000] C:\WINDOWS\system32\RICHED20.DLL
5.30.23.1230 - 5.30.23.1230
Rich Text Edit Control, v3.0
[75310000] C:\WINDOWS\system32\msctfime.ime
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Microsoft Text Frame Work Service IME
[76360000] C:\WINDOWS\system32\imm32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Windows XP IMM32 API Client DLL
[76380000] C:\WINDOWS\system32\comdlg32.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Библиотека общих диалоговых окон
[76BE0000] C:\WINDOWS\system32\PSAPI.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Process Status Helper
[77110000] C:\WINDOWS\system32\oleaut32.dll
5.1.2600.5512 - 5.1.2600.5512
[773C0000] C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
6.0.2900.5512 - 6.0 (xpsp.080413-2105)
User Experience Controls Library
[774D0000] C:\WINDOWS\system32\ole32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2108)
Microsoft OLE для Windows
[77BF0000] C:\WINDOWS\system32\version.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Version Checking and File Installation Libraries
[77C00000] C:\WINDOWS\system32\msvcrt.dll
7.0.2600.5512 - 7.0.2600.5512 (xpsp.080413-2111)
Windows NT CRT DLL
[77DC0000] C:\WINDOWS\system32\advapi32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2113)
Расширенная библиотека API Windows 32
[77E70000] C:\WINDOWS\system32\RPCRT4.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2108)
Remote Procedure Call Runtime
[77F10000] C:\WINDOWS\system32\GDI32.dll
5.1.2600.5698 - 5.1.2600.5698 (xpsp_sp3_qfe.081022-1941)
GDI Client DLL
[77F60000] C:\WINDOWS\system32\SHLWAPI.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Библиотека небольших программ оболочки
[77FE0000] C:\WINDOWS\system32\Secur32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2113)
Security Support Provider Interface
[7C800000] C:\WINDOWS\system32\kernel32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2111)
Библиотека клиента Windows NT BASE API
[7C900000] C:\WINDOWS\system32\ntdll.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2111)
Системная библиотека NT
[7C9C0000] C:\WINDOWS\system32\shell32.dll
6.0.2900.5622 - 6.00.2900.5622 (xpsp_sp3_qfe.080617-1340)
Общая библиотека оболочки Windows
[7DFC0000] C:\WINDOWS\system32\oledlg.dll
5.1.2600.5512 - 1.0 (xpsp.080413-2108)
Поддержка интерфейса пользователя OLE 2.0 для Microsoft Windows®
[7E360000] C:\WINDOWS\system32\user32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Библиотека клиента USER API Windows XP
------------------------------------------------------------------------------
Active Controls hierarchy:
TL2PacketHackMain "L2PacketHackMain"
------------------------------------------------------------------------------
alexteam
07.04.2009, 19:42
Постоянно такое ?.
разреши создавать равлог и запрети авто закрытие при дисконнекте.
после ошибки сохрани равлог ("красная дискетка") в просмотре пакетов.
и выложи.
Добавлено через 47 минут
Редакция 92 - 2009-04-07 07:51:51 GMT
[-] баг приводящий к acess violation при обращении к текущему скрипту при отсутствии оного (возникает при закрытии последней вкладки в редакторе скриптов)
[-] поправлено повторное высвобождение библиотеки. ”Когда ставить/снимать галочку возле имени библиотеки inject.dll выскакивает ошибка Invalid pointer operation” © J-Fobos
возможно поправлен acessviolation при обращении к уничтожающемуся в данный момент экземпляру tfvisual (newpacket)
[-] не применялся флаг isKamael в настройках.
Добавлено через 5 часов 12 минут
Редакция 93 - 2009-04-07 12:58:30 GMT
[-] Равлоги, опять, при разборе пакетов пакет разбирался используя неверное направление (следствие отладки - еще один баг, в получении имя соединения)
[-] не сохранялись равлоги.
Добавлено через 1 час 36 минут
Редакция 94 - 2009-04-07 14:40:17 GMT
[-] обращение к несуществующим обьектам (TsocketEngine) инициализируемое в результате чтения конфига с дефолтными настройками, либо отсутствием конфига вообще.
DashKAaa
07.04.2009, 19:51
Хмм..
редакция 94 еще не залита как я понимаю, а вот редакция 93 под вистой х64 выдает вот такую вот ошибку!
http://pic.ipicture.ru/uploads/090407/SOw12AGu4w.jpg (http://ipicture.ru/)
alexteam
07.04.2009, 22:20
на момент добавления новости она была залита.
тобиш ты писал когда она была уже доступна.
как раз эта ошибка и исправлена.
Добавлено через 1 час 1 минуту
Редакция 95 - 2009-04-07 17:19:37 GMT
[-] Сокетный движек не пропускал пустые пакеты (длина = 2 байта), стопоря при этом все последующие данные. (на кой комуто надо слать пустые пакеты - для меня загадка)
Редакция 95 - 2009-04-07 17:19:37 GMT
[-] Сокетный движек не пропускал пустые пакеты (длина = 2 байта), стопоря при этом все последующие данные. (на кой комуто надо слать пустые пакеты - для меня загадка)
Может их в /dev/nul надо?
alexteam
07.04.2009, 22:26
ну билды то я убиваю, с фтп, а свн для истории пусть будет, много кушать ведь не просит...
а будет просить - думаю хкор поможет им уйти на покой.
ну билды то я убиваю, с фтп, а свн для истории пусть будет, много кушать ведь не просит...
а будет просить - думаю хкор поможет им уйти на покой.
Не, я про пакеты длиной 2 байта. Может их убивать и не слать дальше? Или они на шифрование тоже влияют?
alexteam
07.04.2009, 22:53
"Inc(PCardinal(@GKeyR[keyLen-7])^,size);"
Size при этом = 0.
не думаю что хоть как то влияет.
Добавлено через 6 минут
в принципе, в этом чтото есть. убивать его я не буду. а вот с обрработки снять такой пакетик стоит (скрипты, плагины)
убивать его я не будуа зря.., если валкеру попадает такой пакет то он благополучно отрубается от сервака...
alexteam
08.04.2009, 01:41
тогда пожалуй уберу %)))
ПолуГость2
08.04.2009, 02:35
Сорри за повтор, но хотелось бы разобраться - дружат ли l2phx3.4.1.83 и l2walker 10.9.1 с l2wmx.3.0.4? Валкер валится при попытке коннекта.
ПолуГость2, дружат если пакетхаком перехватывать l2wmx а не валкер...
Добавлено через 10 минут
alexteam, твои модификации вдохновили меня переделать интерфейс в 4м пакетхаке чтобы тоже было много окон а не одно в котором бы всё ютилось, это заодно разгружает код на модули что повышает удобство разработки)
alexteam
08.04.2009, 13:08
не мучай народ, займись ботом :p и его делай многооконным
зы.
а тз/наработки по четверке, точнее по отличиям скинь мне или NLObP, мы чтот придумаем :p
Добавлено через 29 минут
кстати по поводу l2wmx, не думал что его можно оформить в виде спецефического плагина к л2пх ? :p
а тз/наработки по четверке, точнее по отличиям скинь мне или NLObP, мы чтот придумаем боюсь отличий в разы больше чем одинаковых функций так что лучше я пока сам)
займись ботом и его делай многооконнымон собсно изначально многооконный)
кстати по поводу l2wmx, не думал что его можно оформить в виде спецефического плагина к л2пх ?можно то можно тока смысл?, это тока усложнит большинству юзеров жизнь...
alexteam
08.04.2009, 20:23
и судя по тому что изменения больше похожы на перекройку... -)
(я в детстве темноты боялсо, честно)
а поповоду усложнения жизни, это смотря как посмотреть/сделать :spiteful:
alexteam, ээ, ты счас с кем разговаривал?
alexteam
08.04.2009, 23:27
с духами.
это.. просто сижу в неведении.. чтото ж ведь тоже пишу, а оно в итоге востребовано не будет, абыдно -)
Добавлено через 1 час 7 минут
Редакция 96 - 2009-04-08 18:25:37 GMT
[-] "если нажать иконку убить соединение, а потом в выборе сказать нет, то закладка все равно закрывается" © NLObP
[-] "рав-логи, если друг за другом загружать, накладываются друг на друга (дописывает в конец), так надо?" © NLObP – не, так не надо
пакеты с длинной 2 будут убиватся.
сменен компонент отображающий пакет/расшифровку пакета. Немного изменена внешний вид пункта «отправка» взят компонент побыстрее да и получше.
[-] баг в редакторе скриптов вызывающий ошибку «Cannot focus a disabled or invisible window»
а оно в итоге востребовано не будет, абыдно -)будет, новый пакетхак не будет заточен под линейку так что не особо будет с текущим конкурировать)
план развития 3й версии - максимальная поддержка линейки
план развития 4й версии - максимальная универсальность
ЗЫ в общем не переживай)
ЗЗЫ я вообще ещё думаю стоит ли 4ю версию вообще считать 4ой версией пакетхака, может лучше её представить как нечто новое, не относящееся непосредственно к линейке...
alexteam
09.04.2009, 00:29
эм, в любом случае, хотелось бы видеть наработки относящиеся скриптинга и в "3й версии", полезные наработки всегда нужны
..... ктото заикался по поводу реализации классов и рекордов...? -)
зы.
а то у меня есть вариант - реализация их через прокси обжекты, но дело это муторное и некрасивое.
зы2. есть еще вариант на добавку туда, называемый в простонародье "дебаггер".. сейчас вожусь..
alexteam, ну в 4ке я просто скриптовый движок собираюсь юзать не FastScript а paxScript, там дохрена возможностей, но есть и пара недостатков из за которых для обработки скриптов разбирающих пакеты приходиться юзать RemObjects Pascal Script
APXAHGEJI
09.04.2009, 12:06
alexteam, не хочу обламывать тебя в твоих начинаниях,
но последние версии как то сильно затормаживают систему.
Я обычно меньше чем в 4 окна не играю. Если даже всего одно окно на l2ph, то запускаются окна очень долго и в процессе работы тормозят.
Сравнивал с L2PHX 3.4.1.83. Запускал 7 окон, 4 из которых были на пнх,
конечно подтормаживало, но не так сильно.
Вчера еще столкнулся с тем что пакетхак пытался перехватить uTorrent, раньше такого не было
alexteam
09.04.2009, 12:37
ой, обламали. все. бросаю эту затею.. делайте откат на 83й рев на свне.
архангелу могу посоветовать сделать тоже самое взять 83й вевижин, он явно более быстрый и менее глючный. в принципе можно догадаться было и самому.
куча сарказма.
а по поводу перехвата приложения не относящихся к линейке, NLObP о таком сообщал, но это касалось лсп модуля.
еще раз гляну общие для них куски кода (хотя, таких вроде не припомню) да и внедрение в л2 с помошью инжекта и обновление процессов - один из тех кусков которые брались в первозданном виде с 83го рева и не менялись.
APXAHGEJI, не надо не конструктивной критики. Никто не любит, когда бъют по рукам.
PS: Предложения, пожелания, багрепорты - приветствуются.
alexteam
09.04.2009, 14:37
а общие куски там были.
ListSearch := StringReplace (ListSearch, ',', ';', [rfReplaceAll])+';';
и
if (AnsiPos(tmp.ValueFromIndex[k]+';', ListSearch) > 0) then (процедура внедрения)
что будет если
tmp.ValueFromIndex[k] = ''
и
в конце строки ListSearch уже есть ';' ?
внедряемся в tmp.Names[k] ?.
по идее это и есть причина. внедрения куда попало.
заодно и обнаружил что в этом таймере интервал был постоянно равен 1 секунде (уже моя ошибка). не применялись настройки. отсюда постоянное сканирование процессов (весьма трудоемкий для цп процесс)
Небольшое предложение
в окне настройка - настройка перехвата - флаг "перехват..." и "способ внедрения" сделать неактивным, если неотмечено "загружать библиотеку..", а то как-то некрасиво, когда неставится флажок на активном элементе.
точней, как то разнести флаги, чтоб было наглядней выбор способа перехвата
Еще предложение:
В опциях, на вкладке "Настройки перехвата" дать пользователям возможность выбора порта если установлена галочка "Socks5 сервер"
Ну я например пока не перелистал форум не понял что используется порт 56574, а так пользователь сразу увидит какой порт используется и при потребности изменит его :)
alexteam
09.04.2009, 16:22
Переключатель версии протокола вляет на отрисовку пакета.
а галочки, непосредственно на их обработку до этого.
и судя по вот этой фразе
CoderX.NLObP (23:06:11 7/04/2009)
прикол! на абиссе клиентские пакеты - от грации, серверные - от интерлюдии, имя чара не определяет
CoderX.NLObP (23:09:40 7/04/2009)
если оставить настройки как для интерлюдии. то имя чара определяет, вот намутили =)
не стоит их объединять.
т.к. выбор протокола вляет на текущие соединения. а вот галочки, отрабатывают один раз.
по поводу "перехвата" сделал.
Добавлено через 1 минуту
по поводу порта, можно, но применяться будет только при перезапуске пх.
Добавлено через 11 минут
сделал.
Добавлено через 25 минут
Редакция 97 - 2009-04-09 11:21:35 GMT
[-] не применялось значение таймера «искать клиент ххх сек», сканирование происходило с интервалом в 1 сек.
измена логика работы некоторых интерфейсных частей опций
[+] в опции вынесен порт который прослушиваемый пх.
[!] (svn) забыл добавить uPacketView fdm/pas в предыдущий рев (сновная причина существования этой ревизии)
[!] procedure TfPacketView.ParsePacket; требует переписания, попытаюсь с ней разобраться в ближайшее время, выпив как минимум литр допинга. До этого момента отрисовка полей пакета в тестовом режиме, и особо верить ей не стоит. Поэтому билд делать не буду.
Недодумав дал предложение.. (
Лучше по другому - есть 3 типа перехвата, на них поставить Переключатель (RatioButton), так будет "интуитивно" понятно какой работает, на счет заuрузки/выгрузки инжекта - флаг не тот элемент, лучше, имхо, поставить кнопку. Два поля ввода с первой вкладки наверно тоже лучше перенести на вкладку перехвата - вроде это его настройки :).
Окно настроек не закрывается по эскейпу, не важно но приятно.
И если можно и не очень сложно - хорошо бы сделать и в плагинах автозагрузку как в скриптах.
это не наезды, просто пожелания, для того, чтобы (как мне кажется), программа была лучше.
Добавлено через 4 минуты
если запустить 2 ПХ, возникает ошибка, так как TLSPModulrControl может загружатся в одном экземпляре, надо как-то контролировать запуск 2 ПХ.
alexteam
10.04.2009, 14:26
Лучше по другому - есть 3 типа перехвата, на них поставить Переключатель (RatioButton), так будет "интуитивно" понятно какой работает, на счет заuрузки/выгрузки инжекта - флаг не тот элемент, лучше, имхо, поставить кнопку.эм, не вижу особой интуитивности..
ибо радиобутоны будут слишком далеко друг от друга.
да и "неустанавливаемый радибуттон" это вобще атас, это вам не чекбокс который поставить нельзя.
да и возникает вопрос "как снять все типы перехватов" вот мне резко понадобилось, а ведь несмогу.
по поводу переноса в перехват приложений и игнорируемых портов - согласен.
Окно настроек не закрывается по эскейпу, не важно но приятно.протеворечивая фраза.. но реакцию на ескейп могу добавить.
если конечно вот это не устраивает: (из тз)
хоткеи на окна. показ при неактивном окне или находящимся ниже уровнем и скрытие если верхнее окно - текущее.
в плагинах автозагрузка будет делатся, но это будет на закуску. после того как приведу их в тот вид в котором их хочу видеть (добавяться пару експортируемых функций, плагины смогут добавлять свой код не только в обработчик фастскрипта(при испольнении) но и планируеться втыкать их прямо в редактор (ctrl+space), так же помимо добавления функций хочу плепить аналогичные операции с переменными/обьектами)
а вот по поводу 2х одновременно запущеных пх - каюсь. совсем забыл об этой проверке.
Добавлено через 2 часа 10 минут
Редакция 98 - 2009-04-09 17:57:47 GMT
[+] Автоактивирование плагинов (сохранение состояния)
[+] плагины добавляют свои функции не только в скриптовый движек но и в подсказки редакторов вызываемые по ctrl+space
[!] изменена структура передаваяемая плагинам. Функция OnRefreshPrecompile стала процедурой, без передаваемых параметров. Плагины требуют рекомпиляции/небольших изменений.
(Подробности по работе Procedure OnRefreshPrecompile; смотрите в plugin_demo2)
[-] поправлены “подсказки” в редакторе для некоторых переменных
[+] вернул проверку на второй экземпляр пх.
билд выложен.
Добавлено через 15 часов 26 минут
Редакция 99 - 2009-04-10 09:25:08 GMT
[-] выбор прослушиваемого порта был отключен по какойто причине.
для диалогов с изначально небольшим размера окна установлен position = poDefaultPosOnly.
[+] добавлена возможность изменять стили текстов в редакторе скриптов
[+] в AutoComplete добавлены стандартные функции.
ини файлы перенесены в папку settings
alexteam
13.04.2009, 12:50
Редакция 100 - 2009-04-13 07:47:18 GMT
[+] Вынес умолчания для фреймов просмотра соединения в настройки\дополнительно
[+] в редакторе скриптов добавлен WatchList позволяющий смотреть состояние переменных в запущенном скрипте (была произведена весьма успешная попытка добавить брекпоинты и пошаговое исполнение, но при тестировании от нее пришлось отказаться из за того что таймеры вызывают аксесвилейшины, и делают deathlock основному приложению в приостановленном скрипте, походу прийдется довольствоваться только ватчлистом)
[+] хоткеи в редакторе compile/testinit/testfree/closepage (ctrl+f9/f9/ctrl+f2/ctrl+W)
[+] добавлен диалог отображающий доступные в скриптовом редакторе стандартные классы/функции
[+] procedure CanUseAltTab(FormCaption: string) позволяющая добавить форму создающуюся в скрипте в список приложений видимых по альт+таб (по какойто причине упорно не хочет показываться в таскбаре). Вызывать после показа формы. (FastScript в упор не хочет воспринимать form.hadle, пришлось делать по заголовку окна)
[+] редактор горячих клавиш для редактора скриптов (каламбур).
перехват данных с помощью LSP доделан и активирован.
[-] исправлена ситуация с устанавливающейся галочкой при активированном testinit и как следствие утечки памяти. Теперь при вызванном testinit галочку поставить нельзя. Установка ее будет разрешена только в случае последующего вызова testfree
[-] Исправлена отправка данных скриптами в «мертвое» соединение с таким же именем, фрейм которого еще не уничтожен.
[-] исправлено внедрение библиотеки перехвата куда попало.
[-] поправил все мелочи что находил в процессе отладки.
Максимизированные формы будут сохранять флаг «максимизирована» но терять при этом размер.
относительные пути к DLL заменены на прямые. В настройках добавились кнопки для вызова opendialog.
Главная форма пх замещена пустышкой. Как результат - теперь все окна имеющие свою кнопку в таскбаре ведут себя одинаково, бывшее главное окно не контролирует больше минимизацию остальных.
[+] вернул кнопку «минимизировать в трей».билд выложен.
А не кто не занимался rootkit`ми?
может и к ПХ прикрутить библиотеку для скрытия его процессов и файлов?
alexteam
13.04.2009, 16:26
занималси, но это лишнее,
Socks5+виртуалбокс тебе в помошь. вб можно использовать как шлюз и крутить траффик через пх скажем с помошью винроута.
ни один ГГ не прикопается.
ни один ГГ не прикопается.и антивири за одно тоже ругаться не будут)
APXAHGEJI
14.04.2009, 08:30
Попробовал новую версию, хорошо работает, пока ни одной ошибки не словил, и не тормозит так как описывалось ранее.
Ток вот вопрос появился, для чего был добавлен LSP перехват, в чем его преимущества, в чем недостатки?
alexteam
14.04.2009, 12:17
APXAHGEJI,
при лсп перехватывается не соединение а данные.
скачай TcpView (http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx) и глянь куда соединяется линейка при перехвате через inject и при перехвате через lsp.
при лсп не происходит сканирование процессов (те самые тормоза). лсп не видит гг (в случае если бы мы пытались перехватывать не соединение а данные через инжект нам бы этого не дал гг), либо antiphx (на данный момент).
недостатки тоже есть. при закрытии пх соединение не разрывается, просто на клиент/от клиента не поступают данные, и его приходиться закрывать "тремя пальцами".
так же недостаток при посылке своих данных на клиент, они прийдут не сразу, а в тот момент когда сам клиент попытается прочитать порцию данных со стека тцп. в любом случае он их получит, но существует задержка.
ну и естественно, так как это провайдер, то любая моя недоработка в модуле может привести к краху сетевых служб в системе.
В версии 3.5.1.100 в редакторе скриптов, после нажатии кнопки "Тест Init" не работает кнопка "Тест Free".
alexteam
14.04.2009, 14:29
NLObP,не могу воспроизвести, у меня работает :confused:
Добавлено через 22 минуты
зы. начал разбираться с паксскриптом.
2хкор. м.б. стоит переделать текущий редактор в виде класса (компоненты) со своими методами, содержащий в себе фрейм с текущим редактор кода, компилятором (пакс), дебаггером и прочими мелочами. сделалав чтото общее между будущей четверкой, тройкой, и, возможно ботом. ? будет востребовано ?
alexteam, paxScript будет не совместим с уже написанными скриптами...
у него есть некоторые особенности (не помню счас какие) которые не позволят полностью поддерживать уже написанные скрипты
хотя на память приходит только то что в нем вместо типа Char используется String что не сильно должно влиять на совместимость
но в любом случае в 4м пакетхаке скрипты будут работать по другому так что что то общее по любому не выйдет...
alexteam
14.04.2009, 15:31
да, ну... -)
в пс работа с экземпляром внешнего класса поддерживается ? ;)
если да... будем писать жесткий, безпощадный и бессмысленный индусский код.
Добавлено через 17 минут
Да и подразумевал я больше визуальную часть...:p
В версии 3.5.1.100 в редакторе скриптов, после нажатии кнопки "Тест Init" не работает кнопка "Тест Free".
имхо если сменил версию с 3.4 на 3.5 то нет смысла писать версию-100 думаю резон просто начать с 1 т.е. 3.5.1.1
alexteam
14.04.2009, 15:46
вообщето, если уж по хорошему то 3(версия, изменяеться при кардинальных изменениях) 5(минорверсия версии, изменяеться при добавлении какойто важной функции) 1(релиз субверсии, те билды которые выкладываються для скачаивания пользователям) 100(билд. при чем это не обязательно именно ревизия. этот счетчик идет отдельно от других. и информативен в основном для девелоперов.)
щас както непонятно... ибо почти каждая ревизия на свн сопровождаеться релизом и билдом, хотя это вообще 3 отдельных счетчика, при чем номер релиза вообще не меняется..
да и 3.5 должна была стать 4.0 ибо это действительно версия (практически все переписывалось) а не наращивались функции.
думаю со следующего релиза стоит перейти на эту "стандартную" систему. оставить его 3х но менять остальные циферки.
не могу воспроизвести, у меня работает
Это от скрипта зависит. У меня парочка скриптов при завершении их работы выдают ошибку. Почему не пойму.
Вот на них Тест Free не работате.
Exception class: EAccessViolation
Exception message: Access violation at address 0041F62A in module 'l2ph.exe'. Read of address 00000035.
Exception address: 0041F62A
------------------------------------------------------------------------------
Stack list, generated 14.04.2009 15:19:53
(0001E62A){l2ph.exe } [0041F62A] TypInfo.GetPropInfo + $1A
(0016227D){l2ph.exe } [0056327D] fs_iinterpreter.TfsEventHelper.SetValue (Line 1434, "fs_iinterpreter.pas" + 24) + $A
(000029B2){l2ph.exe } [004039B2] System.@IsClass + $E
(0016317B){l2ph.exe } [0056417B] fs_iinterpreter.TfsDesignator.DoCalc (Line 1905, "fs_iinterpreter.pas" + 51) + $8
(001633BE){l2ph.exe } [005643BE] fs_iinterpreter.TfsDesignator.SetValue (Line 1957, "fs_iinterpreter.pas" + 2) + $A
(00164A8C){l2ph.exe } [00565A8C] fs_iinterpreter.TfsAssignmentStmt.Execute (Line 2902, "fs_iinterpreter.pas" + 3) + $13
(0016499D){l2ph.exe } [0056599D] fs_iinterpreter.TfsStatement.Execute (Line 2866, "fs_iinterpreter.pas" + 4) + $B
(001616E7){l2ph.exe } [005626E7] fs_iinterpreter.TfsProcVariable.GetValue (Line 1113, "fs_iinterpreter.pas" + 27) + $B
(0001BDC9){l2ph.exe } [0041CDC9] Variants.VarIsArray + $D
(00164522){l2ph.exe } [00565522] fs_iinterpreter.TfsScript.CallFunction (Line 2505, "fs_iinterpreter.pas" + 9) + $7
(0027C573){l2ph.exe } [0067D573] uScripts.TScript.UseThisScript (Line 747, "units\uScripts.pas" + 14) + $21
(0027C3C9){l2ph.exe } [0067D3C9] uScripts.TfScript.ListViewWindowProcEx (Line 707, "units\uScripts.pas" + 27) + $B
(000A9678){l2ph.exe } [004AA678] Controls.TControl.Perform + $24
(000ACA3F){l2ph.exe } [004ADA3F] Controls.DoControlMsg + $23
(000AD0B9){l2ph.exe } [004AE0B9] Controls.TWinControl.WMNotify + $D
(000A98A8){l2ph.exe } [004AA8A8] Controls.TControl.WndProc + $188
(000AC907){l2ph.exe } [004AD907] Controls.TWinControl.WndProc + $157
(00070C2E){l2ph.exe } [00471C2E] ComCtrls.TCustomListView.WndProc + $72
(0027C3DF){l2ph.exe } [0067D3DF] uScripts.TfScript.ListViewWindowProcEx (Line 715, "units\uScripts.pas" + 35) + $8
(000A9678){l2ph.exe } [004AA678] Controls.TControl.Perform + $24
(000ACA3F){l2ph.exe } [004ADA3F] Controls.DoControlMsg + $23
(000AD0B9){l2ph.exe } [004AE0B9] Controls.TWinControl.WMNotify + $D
(000A98A8){l2ph.exe } [004AA8A8] Controls.TControl.WndProc + $188
(000AC907){l2ph.exe } [004AD907] Controls.TWinControl.WndProc + $157
(00023798){l2ph.exe } [00424798] Classes.TThreadList.UnlockList + $4
(000377AC){l2ph.exe } [004387AC] Graphics.FreeMemoryContexts + $98
(000AC584){l2ph.exe } [004AD584] Controls.TWinControl.MainWndProc + $2C
(000303A8){l2ph.exe } [004313A8] Classes.StdWndProc + $14
(000AC9EB){l2ph.exe } [004AD9EB] Controls.TWinControl.DefaultHandler + $D7
(000A98A8){l2ph.exe } [004AA8A8] Controls.TControl.WndProc + $188
(000303A8){l2ph.exe } [004313A8] Classes.StdWndProc + $14
(000AC9EB){l2ph.exe } [004AD9EB] Controls.TWinControl.DefaultHandler + $D7
(000A9B39){l2ph.exe } [004AAB39] Controls.TControl.WMLButtonDown + $15
(000715A1){l2ph.exe } [004725A1] ComCtrls.TCustomListView.WMLButtonDown + $35
(000A98A8){l2ph.exe } [004AA8A8] Controls.TControl.WndProc + $188
(000AC76D){l2ph.exe } [004AD76D] Controls.TWinControl.IsControlMouseMsg + $51
(000AC907){l2ph.exe } [004AD907] Controls.TWinControl.WndProc + $157
(00070C2E){l2ph.exe } [00471C2E] ComCtrls.TCustomListView.WndProc + $72
(0027C3DF){l2ph.exe } [0067D3DF] uScripts.TfScript.ListViewWindowProcEx (Line 715, "units\uScripts.pas" + 35) + $8
(000AC584){l2ph.exe } [004AD584] Controls.TWinControl.MainWndProc + $2C
(000303A8){l2ph.exe } [004313A8] Classes.StdWndProc + $14
(0003B922){l2ph.exe } [0043C922] Contnrs.TComponentList.GetItems + $A
(00098E3F){l2ph.exe } [00499E3F] Forms.TApplication.ProcessMessage + $83
(00098E76){l2ph.exe } [00499E76] Forms.TApplication.HandleMessage + $A
(00099096){l2ph.exe } [0049A096] Forms.TApplication.Run + $96
(002858F9){l2ph.exe } [006868F9] l2ph.l2ph (Line 83, "" + 24) + $2
------------------------------------------------------------------------------
System : Windows XP Professional, Version: 5.1, Build: A28, "Service Pack 3"
Processor: Intel, Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 MHz MMX 64 bits DEP
Memory: 2047; free 2047
Display : 1280x1024 pixels, 32 bpp
------------------------------------------------------------------------------
List of loaded modules:
[00400000] C:\DEVELOPMENT\lineage2\l2phx.3.5.1.100\l2ph.exe
3.5.1.100 - 3.5.1.100
[01520000] C:\DEVELOPMENT\lineage2\l2phx35\LSPprovider.dll
<00400000> (no version info)
[08000000] C:\Program Files\Punto Switcher\pshook.dll
3.0.0.67 - 3, 0, 0, 67
Punto Switcher hook module
[5B260000] C:\WINDOWS\system32\uxtheme.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Библиотека тем UxTheme (Microsoft)
[60AF0000] C:\WINDOWS\system32\mslbui.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Надстройка LangageBar
[698B0000] C:\WINDOWS\system32\hnetcfg.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Диспетчер конфигурации домашней сети
[71A30000] C:\WINDOWS\system32\mswsock.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Расширение поставщика службы API Microsoft Windows Sockets 2.0
[71A70000] C:\WINDOWS\System32\wshtcpip.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Windows Sockets Helper DLL
[71A80000] C:\WINDOWS\system32\WS2HELP.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Модуль поддержки Windows Socket 2.0 для Windows NT
[71A90000] C:\WINDOWS\system32\WS2_32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Windows Socket 2.0 32-Bit DLL
[71AB0000] C:\WINDOWS\system32\wsock32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
32-разрядная библиотека Windows Socket
[72FC0000] C:\WINDOWS\system32\winspool.drv
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Драйвер диспетчера очереди Windows
[746E0000] C:\WINDOWS\system32\MSCTF.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Библиотека (DLL) MSCTF-сервера
[74DF0000] C:\WINDOWS\system32\RICHED20.DLL
5.30.23.1230 - 5.30.23.1230
Rich Text Edit Control, v3.0
[76360000] C:\WINDOWS\system32\imm32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Windows XP IMM32 API Client DLL
[76380000] C:\WINDOWS\system32\comdlg32.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Библиотека общих диалоговых окон
[76BE0000] C:\WINDOWS\system32\PSAPI.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Process Status Helper
[77110000] C:\WINDOWS\system32\oleaut32.dll
5.1.2600.5512 - 5.1.2600.5512
[773C0000] C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
6.0.2900.5512 - 6.0 (xpsp.080413-2105)
User Experience Controls Library
[774D0000] C:\WINDOWS\system32\ole32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2108)
Microsoft OLE для Windows
[77BF0000] C:\WINDOWS\system32\version.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Version Checking and File Installation Libraries
[77C00000] C:\WINDOWS\system32\msvcrt.dll
7.0.2600.5512 - 7.0.2600.5512 (xpsp.080413-2111)
Windows NT CRT DLL
[77DC0000] C:\WINDOWS\system32\advapi32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2113)
Расширенная библиотека API Windows 32
[77E70000] C:\WINDOWS\system32\RPCRT4.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2108)
Remote Procedure Call Runtime
[77F10000] C:\WINDOWS\system32\GDI32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
GDI Client DLL
[77F60000] C:\WINDOWS\system32\SHLWAPI.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Библиотека небольших программ оболочки
[77FE0000] C:\WINDOWS\system32\Secur32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2113)
Security Support Provider Interface
[7C800000] C:\WINDOWS\system32\kernel32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2111)
Библиотека клиента Windows NT BASE API
[7C900000] C:\WINDOWS\system32\ntdll.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2111)
Системная библиотека NT
[7C9C0000] C:\WINDOWS\system32\shell32.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Общая библиотека оболочки Windows
[7DFC0000] C:\WINDOWS\system32\oledlg.dll
5.1.2600.5512 - 1.0 (xpsp.080413-2108)
Поддержка интерфейса пользователя OLE 2.0 для Microsoft Windows®
[7E360000] C:\WINDOWS\system32\user32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Библиотека клиента USER API Windows XP
------------------------------------------------------------------------------
Active Controls hierarchy:
TListView "ScriptsListVisual"
TPanel "pnlScriptList"
TfScript "fScript"
------------------------------------------------------------------------------
alexteam
14.04.2009, 19:36
l2phx.3.5.2.102 (revision 105) 2009-04-14 14:16:43 GMT
[+] по просьбе трудящихся. в примеры плагинов добавлен plugin_demo4 - хранилище глобальных объектов для всех скриптов.
[+] На SVN Добавлены сурсы хелпа
при ошибках RunTime в скрипте (инит/фри/екзекут) ошибка будет выводиться в статусбар а место подсвечиваться.
Демо плагины будут включаться в релизы
[-] При RunTime ошибке в free методе редактор скрипта уходил в дезлок.
[-] Исправлен баг при отправке пакета в закладке "отправка" при использовании метода перехвата с помощью inject либо socks5
предлагаю при запуске программы выводить список критичных настроек, типа напоминание под какие хроники мы работаем, какой тип перехвата применяем. просто сейчас настройки убраны с глаз и можно долго апстену биться не врубаясь почему не работает.
alexteam
15.04.2009, 21:02
Я вчера добавил уведомление при старте и отсутствующем инишнике. думаю этого будет достаточно.
l2phx.3.5.3.103 (revision 108) Date: 18:54:28, 15 апреля 2009 г.
[+] Сообщение при отсутствующем options.ini о том что л2пх требует настройки
[-] исправлен баг при котором нельзя добавить пакет в фильтр при активном методе перехвата через инжект либо соцкс5
[-] Поправил отрисовку пакетов.
зарелизил т.к. в отрисовке важная поправка.
кстати. что с вебсвном ? он лег и уже начал пахнуть -)
Можно в шапку внести у кого проблемы с сетью после LSP - пользоваться http://support.microsoft.com/kb/299357
alexteam
16.04.2009, 00:29
Были ?.
в чем заключались ? с чем конфликт ?
видимо не удалился LSP после чего были непонятки с DNS пропадали пинги иногда вобщем работал интернет волнами :)
и при пинге имя компа писалась кракозябрами
alexteam
16.04.2009, 01:17
читаем подсказочку к полям или идем в фаг. там явно указано что путь к лсп модулю должен быть полный и не содержать русских букофок в имени и пробелов. иначе (не понятно почему, на одних машинах у меня ворк на дргих нет) возникает как раз такие вот симптомы.
кстати. что с вебсвном ? он лег и уже начал пахнуть -)PHP сцуко лежал...
читаем подсказочку к полям или идем в фаг. там явно указано что путь к лсп модулю должен быть полный и не содержать русских букофок в имени и пробелов. иначе (не понятно почему, на одних машинах у меня ворк на дргих нет) возникает как раз такие вот симптомы.
"D:\Install\Crack\sniffers\L2phx\3.4.1.100\l2phx.3. 5.2.102" пробелов, русских букв нету
alexteam
16.04.2009, 14:48
эм, создал точно такой же путь (к стати пробел там есть)
без проблем,
вин на которой возникали проблемы eng+mui ?
мла, я дурак, перечитал "видимо я удалил"
так оно и есть, регистрация а потом удаление модуля (дллки) без снятия регистрации приводит к точно таким же проблемам. приложение использующее его не видит дллину.
Добавлено через 2 часа 2 минуты
l2phx.3.5.4.105 (revision 110) Date: 08:17:07, 16 апреля 2009 г.
[-] Досадный баг при сохранении состояния "активированности" плагинов.
[!] так как вроде бы какихто вылетов и несоответствий сам больше не заметил, а никто багрепорты не строчит.
уведомляю об окончательности данного билда на ближайшие 3-4 дня.
StekloReZ
19.04.2009, 10:28
Помогите разобраться.
В отличае от версии l2phx.3.4.1.83 новые очень требовательные к ресурсам оперивной памяти. Начинает с 20 mb и пухнет до 100-200++
Отключил все галки для работы с пакетами (Файл>настройки>Дополнительно>Умолчания для фреймов соединения), MaxLinesInPktLog поставил 100. Вроде не так уже и быстро растёт, но постоянно продожает(
Подскажите, этого можно избежать?
alexteam
19.04.2009, 12:20
коментариев не будет.
так как fastmm не показывает утечки памяти при работе.
тобишь утечек нет.
Как отключить лог пакетов в l2phx.3.5.4.105 привычной кнопки (дискетки) нет, включение отключение кнопок от клиента сервера ничего не дают пакетхак пишет пакеты, и соответственно дуется память... (Кста при очистке лога память тож не высвобождаться хз мож так и должно бить)
Добавлено через 2 минуты
коментариев не будет.
так как fastmm не показывает утечки памяти при работе.
тобишь утечек нет.
Утечек действительно нет, память дуеться из за постоянного сохранения пакетов....
alexteam
21.04.2009, 15:35
при добавлении пакета
if Dump.Count >= MaxLinesInPktLog then
SavePacketLog;
......
пр-а SavePacketLog
procedure TfVisual.SavePacketLog;
var
SaveThis: TStringList;
begin
if not assigned(dump) then exit;
if ToolButton7.Down then
begin
AddToLog(rsSavingPacketLog);
SaveThis := TStringList.Create;
SaveThis.Assign(dump);
end;
Dump.Clear;
ListView5.Items.BeginUpdate;
ListView5.Items.Clear;
ListView5.Items.EndUpdate;
if ToolButton7.Down then
begin
if CharName <> '' then
if SaveThis.Count > 0 then
SaveThis.SaveToFile(PChar(ExtractFilePath(ParamStr (0)))+'logs\'+CharName+' '+AddDateTime+'.txt');
SaveThis.Destroy;
end;
end;
ToolButton7 - элемент №10 (http://l2phx.pp.ru/arhive/l2ph_help/index.htm#page=ConnectionFrame.htm)
MaxLinesInPktLog задаеться в ини.
SaveThis создаеться для того чтобы в момент сохранения лога дамп уже был чистым. т.е. избегаю ошибок в предыдущих версиях пх связаных с сохранением пакетов.
есть ошибки ?
Хм, Добавьте плиз кнопку отключения логов пакетов, так как приведённый выше код не решает проблему и пкх дует память. Был проведён эксперимент запущен пкх 3.4.1.83 при отключённом логе память не дуется полёт нормальный (включений лог дует но это понятно...). в последней версии память дует постоянно, поетому плиз верните кнопку отключение лога... Буду оч благодарен. Заранее спс.
Имхо проблема мож бить в том что память не освобождает ListView5...
Или скорее всего Dump.Clear... так как при очистке со следующим же пакетом память дуеться а етого не должно быть если память освободилась коректно...
alexteam
21.04.2009, 17:22
это чудо на фтп лежит.
пасс на фтп смените.
Добавлено через 17 минут
на фтп не лезу пока не разберетесь что там происходит то.
но судя по тому что я вижу, происходит это только на конкретно взятой машине %)
Добавлено через 9 минут
Имхо проблема мож бить в том что память не освобождает ListView5...
Или скорее всего Dump.Clear... так как при очистке со следующим же пакетом память дуеться а етого не должно быть если память освободилась коректно...в этих моментах все правильно.. а вот при сохранении лога вместо дестроя временный обьект разрушаеться с помощью free.
отключи автосохранение лога.
10й элемент здесь.
http://l2phx.pp.ru/arhive/l2ph_help/scr/PSD/connections.jpg
и
1й элемент здесь.
http://l2phx.pp.ru/arhive/l2ph_help/scr/PSD/s3.jpg
ММ, сори возможно я не правильно выразился, но нужно не отключение авто сохранения, а отключение ВЕДЕНИЯ лога как такового, какое било реализовано в предыдущих версиях (то есть вернуть кнопку "Запоминать пакеты и сохранять логи")
alexteam
21.04.2009, 17:36
NLObP,хм. покопался хтмле, нашел редиректы на
hxxp://habrion.cn/in.cgi?2
порылся в инете, похожие проблемы существуют, и такие темы подымались в рунете не один раз.
у меня не вылазило только из за банерорезки в фф -(
2хкор, просьба разобраться.
Добавлено через 3 минуты
Name4Me,поставить MaxLinesInPktLog в сетингах в разумный минимум, скажем 100-200.
отключить запоминание логов.
это временное решение, кнопку верну, но не сейчас, у меня сурсы пх очень отличаються от предыдущй ревизии. а тянуть старую ревизию чтобы в нее добавить кнопку считаю нецелесообразным.
ждите следующего билда.
поставить MaxLinesInPktLog в сетингах в разумный минимум, скажем 100-200.
отключить запоминание логов.
ждите следующего билда.
Это не выход так как ток за 5 мин работы пкх с 9 метров набирает 50.
А что будет скажем за сутки...
Пока не исправлено юзаю предыдущую ревизию...
У меня на основе пкх, бот и мне не нужен лог пакетов (точнее нужен только на стадии выявления багов).
Поэтому оч жду нового билда с возможностью отключения лога...
alexteam
21.04.2009, 19:12
если при этом клиент кушает траффик равный 55+-5 кб/сек то предоставленые цифры вполне реальны :D
Добавлено через 54 минуты
нет. проблемма не в этом.. вообще не в этом...
только что ради опыта слепил приложеницце в котором делаю вот такое
var
i:integer;
begin
ListView1.Items.BeginUpdate;
i:=0;
while i< 100000 do
begin
while ListView1.Items.Count < 10000 do
ListView1.Items.Add.Caption := 'fffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffff f';
ListView1.Clear;
inc(i);
end;
end;
не растет кокос...
то же самое и для объектов tstringlist
Добавлено через 5 минут
прыгает.. но не растет...
хммм...
неужто файлстрим всетаки отображается в память...
Добавлено через 7 минут
нет, не отображаеться.. 2х гтговый файлик на винте а тестовое приложение не увеличилось ни на 1 кб.
Добавлено через 10 минут
Name4Me,а ну мил друг, сними ка галочки со всех использующихся скриптов.... ии посмотри.. будет ли у тебя кокос расти...
Ни один скрипт не включен, плагин тоже... за 10 мин работи пкх в памяти с 3к КБ стал занимать 330к... ХЗ мож у меня в настройках чот не то...
alexteam
21.04.2009, 19:35
подожди.. подожди.. 300кб+- это сущий пустяк. если учесть что он пакеты кудато скидывает то это можно списать на хранение.
а с скриптами за тот же промежуток времени ?
я пытаюсь "телепатическим методом" найти место где память не очищается... и сейчас под прицелом у меня обработчики инструкций от фастскрипта и сам фастскрипт
не 300кб а 300000 кб
Добавлено через 1 минуту
Я скрипты не юзаю вобще юзаю плагины...
Добавлено через 2 минуты
Да и смысл врубать скрипты если в холостом режиме меньше чем за 10 мин работы программа выжирает памяти в 100 раз больше чем в начале...
alexteam
21.04.2009, 19:46
эх.. ладно... пойду редактор/дебагер дальше писать... допишу займусь этой проблемой.
Мож у тебя особие настройки можешь кинуть Options.ini пкх
alexteam
21.04.2009, 19:49
стандартные %)
разве что галки на камаель-хелбоунд поставлены.
Вобще имхо просто убрать анализ пакетов при нажатой кнопке... как в 83 билде... Хотя память жрёться сразу после нажатия очистить лог а этого 100% не должно бить
alexteam
21.04.2009, 19:56
при нажатии на ту кнопочку выполняется
dump.Clear;
ListView5.Clear;
Добавлено через 3 минуты
оййойой...
а ну ка глянь что у тебя твориться в фильтре пакетов.
кол-во записей. не запредельное ?
а ну ка глянь что у тебя твориться в фильтре пакетов.
кол-во записей. не запредельное ?
Да в любом случае память жрёться, хз по чему убираю в фильтре все галки пакеты не отображаться а память жрёт как и в случае когда отображаться..
В обще имхо, хотелось бы послушать отзывы ещё кого нить... А то ппц в общем пока юзаю 83 билд :(
alexteam
21.04.2009, 20:32
я по поводу того не дублируются ли они в фильтре произвольно.
тобиш.. не добавляются без причины копии уже имеющихся...
Неа фильтр вобще не изменял... в 83 билде всё гуд, да и не в фильтре тут дело, а в чом хз чот не могу догнать... Просто пока нет отзывов других не понятно мож это какойнить локальний глюк
alexteam
21.04.2009, 20:50
ты мог не изменять. а пакетхак МОГ.
я обработку пакетов поступающую в лог переписал "малех" в 3.5.3.103 (revision 108)
в архиве лежат 2 версии. из последних. -
l2phx.3.5.2.102
l2phx.3.5.4.105
какой ты пользуешся ? попробуй более ранюю/позднюю -))
здаеться что я отрисовку поправил с последствиями %)
Возникла проблемка. Скачал версию 105. Перехват черел LSP работает отлично. Но вот если использовать старый добрый инжект то "no conection". Клиент Gracia Part2. В версии 3.5.1.95 инжект работает на томже сервере с темже клиентом.
Вот [Snifer]
FilterS=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FilterC=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ProtocolVersion=3
[General]
MaxLinesInLog=300
MaxLinesInPktLog=3000
Clients=l2.exe;l2walker.exe;l2helper.exe;
IgnorPorts=5001;5002;5003;5004;2222;2106;80;2593;
NoDecrypt=0
AntiXORkey=0
ChkKamael=1
ChkGraciaOff=0
isNewxor=D:\GAMES\Lineage\!BOT_LA2\l2phx.3.5.1.105 \newxor.dll
isInject=D:\GAMES\Lineage\!BOT_LA2\l2phx.3.5.1.105 \inject.dll
isLSP=D:\GAMES\Lineage\!BOT_LA2\l2phx.3.5.1.105\LS Pprovider.dll
interval=5
Enable=1
EnableLSP=0
Socks5=0
Timer=5
HookMethod=0
FastExit=0
iNewxor=0
iInject=1
AutoShowLog=0
NoFreeAfterDisconnect=1
RAWdatarememberallowed=1
LocalPort=56574
HexViewOffset=0
AutoSaveLog=0
ShowLastPacket=1
И лог программы(чар уже загружен):
22.04.2009 01:36:31 Успешно загрузили D:\GAMES\Lineage\!BOT_LA2\l2phx.3.5.1.105\inject.d ll
22.04.2009 01:36:32 Стартует L2ph v3.5.4.105
22.04.2009 01:36:33 На 65244 зарегистрирован локальный сервер
22.04.2009 01:36:56 Надёжно пропатчен новый клиент l2.exe (3772)
alexteam
22.04.2009, 12:54
гм, буду смотреть....
самое старнное что инжект то я и не трогал..
по поводу сильно пожирания оперативы и проца у меня таже бадяга ппц грузится комп с новыми пакетхаками пробовал версии 100, 105, 98
Было бы неплохо еще и фильтр пакетов, как в предыдущих версиях, чтобы отображать лишь пакеты с нужным ID
alexteam
22.04.2009, 19:57
это тот что ctr+B вызывается либо по кликанью в дополнительно\фильтр пакетов либо по клику на 11й элемент (http://l2phx.pp.ru/arhive/l2ph_help/scr/PSD/connections.jpg) в соединениях ?
Ничего еще по поводу #670 (http://www.coderx.ru/showpost.php?p=28158&postcount=670) не известно? В версии 3.5.1.100 ситуация аналогична :(
alexteam
22.04.2009, 22:17
Занят паксскриптом.
это тот что ctr+B вызывается либо по кликанью в дополнительно\фильтр пакетов либо по клику на 11й элемент (http://l2phx.pp.ru/arhive/l2ph_help/scr/PSD/connections.jpg) в соединениях ?
Гы... кнопку я нашел... в версии 102. В 105 ее чего-то не видно :)
PS: Хоть где-то она есть) я думал уже с крышей прощаться)
Тогда можно пожелание? Можно окно "Скрипт/скриптинг" и "Лог пакетхака" перенести во вкладки? Невсегда удобно лазить по множеству окон а так все в одео окошке аккуратненько)
alexteam
23.04.2009, 16:46
http://img5.imageshost.ru/imgs/090423/dde8d85672acf7d55fe3cb53856f1705/0002805ea069020c648ff288ba6aaf2b.jpg
парни вот такая проблема что делать?:24.04.2009 12:10:11 (Inject.dll) Коннект на 91.204.236.29:2106 проигнорирован
24.04.2009 12:10:15 (Inject.dll) Коннект на 91.204.236.29:2106 проигнорирован
//Где проблема ? не вижу проблемы.
коннект на логин сервер не должен перехватываться. все нормально.
юзаем поиск (http://coderx.ru/showthread.php?t=1481&highlight=2106+%EF%F0%EE%E8%E3%ED%EE%F0%E8%F0%EE%E 2%E0%ED)
это не ач тут хайдов нет, можно просто читать и изучать (с)Grinch
Хочу разобраться с исходниками. Все скачал, но единсвенно не хватает модуля "siComp". Что это? :confused:
Пытаюсь Компилировать на BDS 2006.
//tsilang - можно найти на torrents.ru собственно как и остальные компоненты.
//tsilang - можно найти на torrents.ru собственно как и остальные компоненты.а я в UPH для локализации paxScript юзаю), возможно сначала немного больше возни, но зато при использовании для локализации скриптов можно не только названия контролов менять но и хинты, их размеры и другие свойства)
alexteam
25.04.2009, 13:16
Говорят же... слушай старших...
http://img5.imageshost.ru/imgs/090425/d08786a281198e47146c7d42c93b1381/tdbeb2e91be543cfbb73dbc7b92d8ea6c.jpg (http://imageshost.ru/links/96f395da7ac84ab295299b35667778fc)
http://img5.imageshost.ru/imgs/090425/4556475ba201af41d8dbae72fa22b7ec/tfd4869200d2d8033852de6b7b4727a9c.jpg (http://imageshost.ru/links/7be8a9dbd03d4860a38425f5b53c41ce)
а еще.. перевод ресурсстрингов, секции конст и прочие пакости..
ах.. да.. если еще и на диспачер их поцепить.. то все это легко и непринужденно сгружаеться в инифайл, и хай сами (юзвери) переводят XD
Добавлено через 6 минут
а.. и совсем забыл. я использую дебугмоде транслятор, а есть.. еще.. рантайммод.. дающий пользователю возможность вызывать вот такое вот окошко самому и возможность редактировать перевод, добавлять/редактировать перечень языков по ходу работы приложения.
alexteam, ну хз хз, твой вариант возможно удобнее, но скрипты - по любому гибче + никаких дополнительных компонентов не надо ибо paxScript и так используется...
//tsilang - можно найти на torrents.ru собственно как и остальные компоненты. - а поконкретнее, если ьы нашел то не справшивал бы. Ещё нужна библиотека glowfish.pas :)
alexteam
25.04.2009, 22:05
блоуфиш есть в ревизиях раньше 83й включительно.
Млин в проекте сплошные чужие компоненты. Что такое "ecSyntAnal.pas" и где его взять. В поисковике ниодного найденого совпадения. :o
Все ничего неспрашиваю. Тут около 10ти продуктов не из Delphi. Очень тяжело все найти и еще те версии что использовал автор.
alexteam
26.04.2009, 00:01
а кто сказал что будет просто ?
TsiLang (локализация)
EControl SyntEdit (используеться в редакторе скриптов)
jwapi (несколько ее модулей используется самописной компонентой)
TRichView (ecSyntAnal.pas, используеться пока только в одном месте для отрисовки пакетов)
вот это все что понадобиться. + то что в первом посту, и 1 компонента которая самописная и есть на свн.
единственное непонятно зачем тебе блоуфиш понадобился.. я когда переносил проект не использовал его.
а.. да... ниодного совпадения... неправильный веник курите..
alexteam, надо бы по хорошему где то (в сорцах или в справке) указать какие дополнительные компоненты используются и где их надыбать можно...
alexteam
26.04.2009, 00:18
ну.. у тебя на фтп лежат... вроде -)
Добавлено через 3 минуты
и вообще... имхо..
тем кому даже найти компоненту не под силу нечего в коде копаться..
не в обиду выше и ниже отписавшимся.
xkor, дай доступ к http://l2phx.pp.ru/arhive/components/. Ошибку 403 выдает. Там все компоненты лежат.
NLObP, ещёб я знал какого хрена туда доступа нет...
NLObP, ещёб я знал какого хрена туда доступа нет...
разработчикам, при входе через фтп, доступ есть.
Я уже нашел компоненты. Единственно с RV ругаеться, что у меня где то разные версии юнитов от этой компоненты используются.
Blowfish - для версии 3.2. Хотел её тоже проанализировать. Уже нашел. Скомпилировал. Но на шоке уже она не захотела работать. После входа в игровой мир крит ошибку выдает.
Добавлено через 3 часа 40 минут
Компилятор ругаеться на строку: Editor.CurrentLine := y-1; и Editor.SelectLine(y-1);
Editor: TSyntaxMemo;
в этом объекте нет поля CurrentLine и SelectLine.
Модуль взял отсюда http://www.econtrol.ru/download.html
Использовал модуль за 2006 год, тут новее не нашел.
В чем ошибка? Или эти поля добавлялись самостоятельно?
alexteam
26.04.2009, 15:01
я же говорил. torrents.ru (http://torrents.ru/forum/viewtopic.php?t=1141843)
Пробовал компилить 110 версию. Компилится. Но если в папке скриптс лежат скрипты падает с ошибкой (новый создать тоже нельзя).
alexteam
26.04.2009, 17:33
NLObP,ну, все что связано с скриптами кардинально переделано... как бы... %)
да и.. компилиться вроде нормально...
оптионс.ини удали перед билдом.. чтоль..
Добавлено через 24 минуты
отвлекся. дернул сурсы с свн, позанимался копипастом с имеющейся у меня версии в версию лежащую на свн, закомитил и сделал промежуточный билд. (походу еще пришлось ставить фастскрипт которого у меня не оказалось %)
промежуточный релиз. использует fastscript. код "фиксов" выдергивался с следующей субверсии пх.
[-] При активном перехвате через inject и методах надежный либо альтернативный пх пытался подгружать длл с неверного пути.
[-] кнопки "от сервера" "от клиента" в просмотре пакетов должны работать.
[-] кнопка открыть пакет в посылке.
[-] в фильтре пакетов unknown пакеты добавлялись при наличии их в packets.ini а не наоборот. (страшно ело память, основная причина существования этого промежуточного релиза)
зы. подтверждено. компилиться нормально %))
Фамфары :). Скомпилировал наконец то.
alexteam
26.04.2009, 18:21
перезалил. ибо случайно включил в релиз инжект.длл не от той версии пх.
С путями по крайней мере в 105 косяк. Стоит лог записать и в скриптах пути уже не тработают. ИМХО путь к программе сменяется при записи/просмотре логов.
В 106 тоже самое.
alexteam
26.04.2009, 19:11
"путь к программе" не меняется.. %) а вот текущая директория при сохранении файла - меняется.
добавлю ChDir после сохранения/открытий файла.
будет возвращать его не место.
Добавлено через 13 минут
тваюююю налево...
компильнул пх с редактором, поддержкой паксскрипта и всеми подключенными к нему модулями
5,13 МБ (5 389 312 байт) :focus: жесть.
в памяти развернулся на 8.5(физ) и (30 вирт) метров :vava:
но всеравно до фаерфокса ему далеко -))
тваюююю налево...
компильнул пх с редактором, поддержкой паксскрипта и всеми подключенными к нему модулями
5,13 МБ (5 389 312 байт) жесть.
Ну и что? У меня со скриптом рыбалки около 200 мб в памяти, почти как клиент.
Ты эта, попробовать давай. =)
Вот еще один баг.
На вкладке "посылка" при выборе направления посылки "серверу" пакет отображается (в правой части окна) как пакет для клиента, а когда выбрать направление "клиенту" то пакет будет отображается как для сервера.
В прошлых версиях было все с наоборот. Вот скрины:
_http://i078.radikal.ru/0904/3f/5db33ab873c1.jpg
_http://s46.radikal.ru/i111/0904/39/3286d3d25152.jpg
Ну и еще у меня пара предложений.
1) Сделать еще одно окно (такое как Дополнительно->Преобразования) в котором можно было б написать пакет и посмотреть его расшифровку. Для этого конечно можно использовать вкладку "посылка", но ее не всегда видно (только когда есть подключение). Думаю это повысит удобство работы с программой.
2) Когда я отправляю пакет с вкладки "посылка" он не отображается в логе пакетов (также с пакетами которые отсылают скрипты). Нельзя ли добавить их отображение чтобы было видно результат?
alexteam
26.04.2009, 19:23
эээ... не гоните лошадей.. я только редактор подсоединил... он пока сам по себе в пх.
у меня еще в переди - сделать персистент класс который будет передаваться в скрипты (со всем функциями по типу сендтусервер и т.д.), и мелочь - добавить вызов onpacket при приходе пакета.
и, чтото надо решить с редактором который в соединениях.. скорей всего эта вкладка вообще уберется. (сказано - сделано, конечно обидно что вкладка умерла, но, тот редактор который имеется туда подсоединить весьма геморно, он самостоятелен. в любом случае не думаю что особо заметите отсутствие той вкладки. да и, не представляю что там можно сделать такого чего нельзя в редакторе скриптов)
J-Fobos, ща, гляну.
инверснул, надеюсь бага действительно существует, иначе она появится )))
2 - сделал.
над 1 сам думал. в принципе последние переделки "фрейма который отрисовывает пакет" к этому и ведут. так что рано или поздно будет.
5,13 МБ (5 389 312 байт) жесть -
Вот что значит брать кучу готовых модулей и из них использовать несколько функций. Хотя какая разница. Главное что работает. :)
alexteam
26.04.2009, 20:02
ага, давайте все отрисовки на tmemo делать и писать кучу своих функций.. а так же напишем свой транслятор.
кто за ?... флаг могу подарить... %)
интересно.. через год следующий релиз выйдет ? %) и сколько в нем косяков будет...
ага, давайте все отрисовки на tmemo делать и писать кучу своих функций.. а так же напишем свой транслятор.
кто за ?... флаг могу подарить... %)
интересно.. через год следующий релиз выйдет ? %) и сколько в нем косяков будет...
Я пытался свой редактор кода с подсветкой синтаксиса делать :confused:. А потом ещё и с помощью своих потоков его интерпретировать и выполнять. Ты прав - это все гиблое дело.
alexteam
26.04.2009, 20:05
зы.
кстати. делфа включает только то из модулей что действительно используется приложением.
остальное при линковке отсекается.
alexteam, но к сожалению линкер не отсекает то что могло бы использоваться но не используется, а из за наследования классов такого кода накапливается очень много
ЗЫ сформулировал не очень правильно но как правильно хз...
ЗЗЫ я это не к тому что надо отказываться от классов, просто замечание о не всесильности линкера)
alexteam
26.04.2009, 23:28
да, на счет классов "родителей" я в курсе.
намекаеш чтобы я занялся вырезанием ненужных ответвлений ? :D
да, на счет классов "родителей" я в курсе.
намекаеш чтобы я занялся вырезанием ненужных ответвлений ? :D
Нет просто пора PH на assembler переносить. И управлять из коммандной строки :D.
//alexteam: на, тебе флаг. делай с ним шо хочеш
//alexteam: на, тебе флаг. делай с ним шо хочеш
- спасибо :p.
Как разберусь с вашей программой, появятся идеи - буду писать. Код грандиозный.
Вопрос в - режиме отладки будет корректно использовать PacketHack или могут быть глюки?
alexteam
27.04.2009, 12:29
корректно. везде.
разве что только с гг нерекомендуеться юзать дебуг. -)
Последний релиз после сборки при смене логин сервера на ГС в АВ вылетает.
сервер С4.
Вылетает тут -
procedure TfVisual.init;
в этом месте -
edit := TfScriptEditor.Create(GroupBox8);
Говорит вот что:
First chance exception at $7C812A7B. Exception class EReadError with message 'Property OnGetVarValue does not exist'. Process l2ph.exe (2680)
Добавлено через 13 минут
Как то все глюкаво.
Sherman, чужое хаять - не свое писать, alexteam в одного проект тащит.
Sherman, те чета не нравится пиши своё ещё раз такое прочту, забаню навечно. и споры на эту тему будут расцениваться так же.
alexteam
27.04.2009, 17:35
а у меня не вылетает. и на локальном сервере на данный момент работает так как должно.
что я делаю не так ?
и, еще, учитесь выражать свои мысли. а то после "Последний релиз после сборки" такое ощущение что ктото его компилил.. и судя по ошибке проблема не в пх а в компоненте с которой он ее компилил. при чем сразу же вспоминаеться фраза про прямоту рук, и т.д. и т.п.
dmitry501
27.04.2009, 18:51
Ну чего накинулись? И не надо его банить :) Это баг-репорт такой.
alexteam
27.04.2009, 19:44
ага.. если и багрепорт то на fastscript
народ, у меня вот такая вот проблема, ставлю пакетхак на кач, точнее на набивание колов, около часика всё работает бот качается, потом провисает и вылезает куча ошибок каскадом, вот тут видно http://www.photoshare.ru/photo3132638.html ктонить помагите, скажите в чём трабла? я все версии пакетхака поперепробывал везде одно и тоже!
вот тут видно http://www.photoshare.ru/photo3132638.htmlДоступ к закрытому альбому
Для доступа к альбому требуется пароль.
//alexteam: это его второй пост... я предыдущий с утра прибил.. именно по этой причине %)
alexteam
28.04.2009, 00:23
начал разгребать обработку функций.. честно.. просто копипастнул ее с 83го рева когда делал...
но сейчас сижу, думаю над вот этим местом:o
if sMethodName = 'WRITES' then begin
buf:=TfsScript(Integer(Params[1])).Variables['buf'];
tmp:=Params[0];
temp:=tmp;//StringToWideString(tmp,1251);
tmp:=tmp+tmp;
Move(temp[1],tmp[1],Length(tmp));
buf:=buf+tmp+#0#0;
TfsScript(Integer(Params[1])).Variables['buf']:=buf;
end
ведь равнозначно
procedure TscriptData.WriteS(v: string);
begin
fbuff := fbuff + v + v + #0#0
end;
и вообще правилен ли изначальный вариант ? %)
alexteam, эм, чего тут равнозначного? во втором коде зачем то анси строка дублируется вместо того чтобы преобразовываться в вайдстринг и только потом дописываться к буферу, причем через + дописывать нельзя ибо компилятор её обратно в анси преобразует...
Добавлено через 1 минуту
ЗЫ первый код конечно не блещет красотой и оптимальностью, но работает четко)
alexteam
28.04.2009, 00:34
боже, как все сложно :(
Добавлено через 2 минуты
fbuff при этом должен быть вайд ?
а то я совсем запуталси %)
Добавлено через 1 минуту
если да то я не особо пойму как оно вообще работало с 83й по теперешнюю :confused:
Добавлено через 1 минуту
нет не должен. понял глянув дебагом
Grinch, я не понял, за что банить? Если Афторы не могут выложить конкретно те компоненты, которые использовуются при разработке в репозиторий, меня за это банить? Хз, но фастскрипт я непосредственно вчера скачал с оффсайта.
alexteam, подскажи почему два соединения на порт 7777
28.04.2009 10:03:35 LSP модуль зарегистрирован в системе
28.04.2009 10:03:35 Стартует L2ph v3.5.5.106
28.04.2009 10:03:35 На 6422 зарегистрирован локальный сервер
28.04.2009 10:04:41 (LSP) Обнаружено соединение (Сокет 1116) IP/port 127.0.0.1:2106. Соединение будет проигнорировано
28.04.2009 10:04:42 (LSP) Обнаружено соединение (Сокет 1180) IP/port 127.0.0.1:7777. Соединение будет перехвачено
28.04.2009 10:04:42 (LSP) Соединение закрыто (Сокет 1180)
28.04.2009 10:04:44 (LSP) Обнаружено соединение (Сокет 1116) IP/port 127.0.0.1:7777. Соединение будет перехвачено
PS: это локальный сервер, скрипт тестю.
alexteam
28.04.2009, 13:14
первый это пинг клиетом сервера (как только открываеться меньшка выбора серверов, он конектиться на серв с целью получить отклик)
а второе - собственно соединение.
отключи автозакрытие фреймов при дисконнекте - поймешь. в первом соединении пробегает всего 2-3 пакетика.
Добавлено через 10 минут
2 marlin
Еще 1 пост по этой же теме и ты будешь вторым человеком получившим от меня тут вечный бан. ибо я задолбался резать одно и тоже.
это переполнение в переменной самого скрипта. других вариантов не вижу. проблема подымалась на форуме уже. переполнение скорей всего происходит в WriteD. почему - потому что ей передается переменная не влезающая в 4 байта. колупай скрипт и ищи где и почему.
Добавлено через 8 минут
Sherman, тут кто-то тебе что-то должен ?.
посвящается не конкретно одной персоне: руци кривые ? с кодом разобраться не можете ? мозгу не хватает чтобы проблему найти без чужой помощи ? что вы в сурсах то забыли тогда ? не лезте туда и проблем не будет.
умиляет что еще обхаять разрабов надо, по типу я скомпилить не могу, у вас проект кривой. а то что у самих разрабов с этим проблем нет - вообще не в счет.
насмотрелся я уже на таких которые меняют пару строчек в проекте, трут копирайты и называеют это "прожектом от дяди васи", зло берет.
Sherman, компоненты лежали здесь (http://l2phx.pp.ru/arhive/components/). Доступа просто не было. Сейчас есть. Не до всего сразу руки доходят.
Там нет FastReport который используется разработчиками.
Sherman, тут кто-то тебе что-то должен ?.
Вопрос не стоит "Кто-то кому-то должен", мой вопрос состоит в том, что проект не собирается при использовании компонент ссылки на которые даны в первом посте топика. (Агришься не по теме)
Еще у меня вопрос, существует ли возможность из плагина произвести смену ключа шифрования? Либо же пример newxor.dll которая меняет ключ проанализировав какой то принятый пакет от сервера?
В примере который я нашел на форуме не увидел что в newxor передаются пакеты.
ну спасиба ребята, всё понятно что ничего не понятно!
alexteam
28.04.2009, 13:45
он с офсайта.
я последний раз перетягивал для бдс 2006 его 26 апреля 2009 г., 15:17:49 чтобы поставить и сделать промежуточный билд - и сделал. БЕЗ проблем.
Sherman, мы их с офф-сайта качаем.
alexteam
28.04.2009, 14:03
Там нет FastReport который используется разработчиками.где мы используем фастрепорт ? я проект помню практически наизусть.. нет там фастрепортов никаких
на фтп+свн+в шапке есть все что нужно.
если посмотреть еще и на даты на фтп - оно там лежит ну ооочень давно.
и агрюсь я как раз по теме.
Более интересен ответ на второй вопрос.
существует ли возможность из плагина произвести смену ключа шифрования? Либо же пример newxor.dll которая меняет ключ проанализировав какой то принятый пакет от сервера?
В примере который я нашел на форуме не увидел что в newxor передаются пакеты.
где мы используем фастрепорт ?
FastScript, простите.
alexteam
28.04.2009, 14:10
В примере который я нашел на форуме не увидел что в newxor передаются пакеты.невхор производит декодировку пакетов.. туда не передаються пакеты ?... хм.. онапроизводит декодировку посредством ментального воздействия на пх ?
Добавлено через 53 секунды
FastScript, с оффсайта.
я перекачивал его на выходных по причине того что перешел на бдс2к6.
и прекрасно сбилдил работающий проект.
Есть какой то готовый пример newxor.dpr? Возможно у меня вариант из очень старого пакетхака.
library newxor;
uses
windows,
Coding in 'Coding.pas';
type
TXorCoding = class(TCodingClass)
private
keyLen: Byte;
public
constructor Create;
procedure InitKey(const XorKey; Interlude: Boolean = False);override;
procedure DecryptGP(var Data; const Size: Word);override;
procedure EncryptGP(var Data; const Size: Word);override;
end;
TXorCodingOut = class(TCodingClass)
private
keyLen: Byte;
public
constructor Create;
procedure InitKey(const XorKey; Interlude: Boolean = False);override;
procedure DecryptGP(var Data; const Size: Word);override;
procedure EncryptGP(var Data; const Size: Word);override;
end;
function CreateCoding(Value:PCodingClass): HRESULT; stdcall;
begin
Result:=0;
try
Value^:=TXorCoding.Create;
except
Result:=-1;
Value^:=nil;
end;
end;
function CreateCodingOut(Value:PCodingClass): HRESULT; stdcall;
begin
Result:=0;
try
Value^:=TXorCodingOut.Create;
except
Result:=-1;
Value^:=nil;
end;
end;
exports CreateCoding, CreateCodingOut;
{ TXorCoding }
constructor TXorCoding.Create();
begin
FillChar(GKeyS[0],SizeOf(GKeyS),0);
FillChar(GKeyR[0],SizeOf(GKeyR),0);
keyLen := 0;
End;
procedure TXorCoding.DecryptGP(var Data; const Size: Word);
var
k:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
for k:=size-1 downto 1 do
pck[k]:=pck[k] xor GKeyR[k and keyLen] xor pck[k-1];
if size<>0 then pck[0]:=pck[0] xor GKeyR[0];
Inc(PLongWord(@GKeyR[keyLen-7])^,size);
end;
procedure TXorCoding.EncryptGP(var Data; const Size: Word);
var
i:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
if size<>0 then pck[0]:=pck[0] xor GKeyS[0];
for i:=1 to size-1 do
pck[i]:=pck[i] xor GKeyS[i and keyLen] xor pck[i-1];
Inc(PLongWord(@GKeyS[keyLen-7])^,size);
end;
procedure TXorCoding.InitKey(const XorKey; Interlude: Boolean = False);
const
KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
KeyIntrl: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);
var key2:array[0..15] of Byte;
begin
if Interlude then begin
keyLen:=15;
Move(XorKey,key2,8);
Move(KeyIntrl,key2[8],8);
end else begin
keyLen:=7;
Move(XorKey,key2,4);
Move(KeyConst,key2[4],4);
end;
Move(key2,GKeyS,16);
Move(key2,GKeyR,16);
end;
{ TXorCodingOut }
constructor TXorCodingOut.Create;
begin
FillChar(GKeyS[0],SizeOf(GKeyS),0);
FillChar(GKeyR[0],SizeOf(GKeyR),0);
keyLen := 0;
end;
procedure TXorCodingOut.DecryptGP(var Data; const Size: Word);
var
k:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
for k:=size-1 downto 1 do
pck[k]:=pck[k] xor GKeyR[k and keyLen] xor pck[k-1];
if size<>0 then pck[0]:=pck[0] xor GKeyR[0];
Inc(PLongWord(@GKeyR[keyLen-7])^,size);
end;
procedure TXorCodingOut.EncryptGP(var Data; const Size: Word);
var
i:integer;
pck:array[0..$4FFF] of Byte absolute Data;
begin
if size<>0 then pck[0]:=pck[0] xor GKeyS[0];
for i:=1 to size-1 do
pck[i]:=pck[i] xor GKeyS[i and keyLen] xor pck[i-1];
Inc(PLongWord(@GKeyS[keyLen-7])^,size);
end;
procedure TXorCodingOut.InitKey(const XorKey; Interlude: Boolean);
const
KeyConst: array[0..3] of Byte = ($A1,$6C,$54,$87);
KeyIntrl: array[0..7] of Byte = ($C8,$27,$93,$01,$A1,$6C,$31,$97);
var key2:array[0..15] of Byte;
begin
if Interlude then begin
keyLen:=15;
Move(XorKey,key2,8);
Move(KeyIntrl,key2[8],8);
end else begin
keyLen:=7;
Move(XorKey,key2,4);
Move(KeyConst,key2[4],4);
end;
Move(key2,GKeyS,16);
Move(key2,GKeyR,16);
end;
begin
end.
я так понимаю этот нюксор меняет шифрование при получении пакета KeyInit, мне же надо менять ключ шиырования по мере поступления пакетов после первичной инициализации ключа.
alexteam
28.04.2009, 14:36
метод подключения newxor в ревизиях выше 83 (включая 83) и его структура как таковая не менялись.
обрабатывай выходные данные с
DecryptGP(var Data; const Size: Word);
и меняй GKeyS/C сам.
на выходе у него - расшифрованый пакет.
сам декрипт вызываеться в пх воттак
DecryptGP(packet.data, Packet.Size - 2);
где packet - структура
TPacket = packed record case Integer of
0: (Size: Word;
Data: array[0..$FFFD] of Byte);
1: (PacketAsByteArray: array[0..$FFFF] of Byte);
2: (PacketAsCharArray: TCharArray);
3: (pckSize: Word;
pckId: Byte;
pckData: array[0..$FFFC] of Byte);
end;
Добавлено через 17 минут
и вообще.
в модуль uEncDec загляни.
глянь DecodePacket, EncodePacket
поймеш порядок вызовов. и что где.
Спасибо. Собственно uEncDec.pas я и изменял для своих целей, но скомпелированный мной пакетхак не захотел работать.
Насколько реально достать исходник промежуточной версии phx, скажем 3.4.1.83 - это ещё до коренных изменений в интерфейсе, но выше чем 3.2.0. Там меньше всего наворочено и мне будет проще разобраться с механизмом перехвата траффика. :mad:
Зы: не пинать мечты вслух.
alexteam
29.04.2009, 12:05
Сделать Checkout указав номер ревизии.
http://img5.imageshost.ru/imgs/090429/eb03ba3e6b9da7bf9739c96814956c60/t073ec74a216a5fd42c55e185cffa363a.jpg (http://imageshost.ru/links/97de75109f5a3f15b8fb222d99c8c829)
TPacket = packed record case Integer of
0: (Size: Word;
Data: array[0..$FFFD] of Byte);
1: (PacketAsByteArray: array[0..$FFFF] of Byte);
2: (PacketAsCharArray: TCharArray);
3: (pckSize: Word;
pckId: Byte;
pckData: array[0..$FFFC] of Byte);
end;
Я так понимаю в том примере который я привел (newxor.dpr) ошибка размера пакета:
procedure TXorCoding.DecryptGP(var Data; const Size: Word);
var
k:integer;
pck:array[0..$4FFF] of Byte absolute Data; <<< Ошибка
должно быть
pck:array[0..$FFFF] of Byte absolute Data;
begin
я прав?
alexteam
29.04.2009, 15:12
смотря что ты пишещь в пцк. размер + данные либо сами данные. длина data = 1..$fffd.
в идеале:
procedure TXorCoding.DecryptGP(var Data; const Size: Word);
var
packet : tpacket;
begin
packet.size := size;
move(data, packet.data, size);
а дальше - работа с рекордом.
(писал на коленке)
Добавлено через 3 минуты
ну и в конце естественно
size := packet.size; //не должно меняться, но мало ли. вдруг ты пакет убьешь, или заменишь его на свой другой длинны.
move(packet.data, data, packet.size);
Sherman, ошибка не критичная да и в принципе не ошибка ибо пакетов длинной 20к я ещё не видел), максимум видел пакет длинной 9к (это был диалог продажи вещей за колы)
ну и в конце естественно
size := packet.size; //не должно меняться, но мало ли. вдруг ты пакет убьешь, или заменишь его на свой другой длинны. декодировщик пакетов линейки должен выполнять функции исключительно декодирования, никаких изменений и блокировок пакетов он делать не должен, для этого надо юзать уже другие вещи..
alexteam
29.04.2009, 16:04
но он может это делать.
alexteam, размер менять не может ибо const)
alexteam
29.04.2009, 16:19
э... туплю.. позор на мою голову
а вот так
copymemory(@size, @packet.size, 4) ? ;)
alexteam, ну тогда уж проще const заменить на var)
тут тока вопрос насколько сильно дельфи защищает константы, возможно он их не только на этапе компиляции защищает но и в рантайме, хотя в данном случае это крайне маловероятно...
А скажите вы сами все модули основные разработали? Inject, LSP это все ваше гениальное творение?
alexteam
02.05.2009, 01:06
inject и его подгрузка это с 83 ревизии. думаю справедливо поделить копирайты по поводу инжекта между между кодерХ и мс-ремм.
а лсп и прочая фигня непонятно кем ваще писалась...
Сейчас с Inject разбираюсь. Замучено конечно серьезно. Довольно таки тяжело мне разобраться в последовательности выполняемых программой дейтсвий при перехвате траффика.
Yegor, если в краце то Inject при запуске просто ставит хук на API функцию connect перенося её начало (дополнив джампом на продолжение) в новое место и ставя вместо него джамп на код из Inject который в свою очередь отправляет по средством сообщения пакетхаку уведомление о том куда собирается коннектиться и если получает ответ что пакетхак желает это соединение перехватить то меняет адресс сервера на локальный адрес на котором ждёт коннекта пакетхак, ну и далее соединение уже получается не с сервером а с пакетхаком, а уже он соединяется с сервером...
Добавлено через 2 минуты
ЗЫ а лсп всё таки по моему этим неизвестным автором написано не хорошо, ну неправильно через реестр с ним работать когда для этого есть намного более удобные API функции...
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot