lxr: А может кто-нибудь сказать, как идет определение уровня персонажа? Есть огромные неточности порой. Например персонаж 85, но пишется 79+. Или персонаж 79, но пишется 84+ судя по амуниции. Оно понятно что рассчет идет по эквипу, но как в случае 76 — 79 — 80?
lxr: А может кто-нибудь сказать, как идет определение уровня персонажа? Есть огромные неточности порой. Например персонаж 85, но пишется 79+. Или персонаж 79, но пишется 84+ судя по амуниции. Оно понятно что рассчет идет по эквипу, но как в случае 76 — 79 — 80?
Уровень: 76+ Уровень: 76+ или 80+, судя по амуниции Уровень: 79+ или 80+, судя по амуниции Уровень: 79+ Уровень: 80+
76+ 3 профа 79+ Персонаж прошел квесть 7 печатей и получил Браслет Рассвета 80+ и 84+ одетые по уровню персонажи...
А может кто-нибудь сказать, как идет определение уровня персонажа? Есть огромные неточности порой. Например персонаж 85, но пишется 79+. Или персонаж 79, но пишется 84+ судя по амуниции. Оно понятно что рассчет идет по эквипу, но как в случае 76 — 79 — 80?
Уровень: 76+ Уровень: 76+ или 80+, судя по амуниции Уровень: 79+ или 80+, судя по амуниции Уровень: 79+ Уровень: 80+
miglife: впечатляющая выдержка :] но не значит ли это, что мы обречены вечно страдать от первых 2ух причин ошибок, да и от 3ей тоже с большой вероятностью? Неужели вообще нет никаких преамбул начала/конца пакета? Ну както ж клиент игры отсеивает или обрабатывает эти пакеты без нарушения работоспособности, должно быть все же есть какое-то решение... надеемся вас осенит...
Еще раз :) Клиент получает нормальные данные от Frost'a, а утилита L2on получает данные, зашифрованные Frost'ом, и пытается их расшифровать (клиент этот шаг, на котором и возникают ошибки, само собой пропускает). Первые два типа ошибок рано или поздно будут исправлены (точнее снизится вероятность их появления), а третий тип легко исправляется сразу после обнаружения.
Jack: Есть три причины ошибки... Но ведь каждому это не будешь объяснять?)
впечатляющая выдержка :] но не значит ли это, что мы обречены вечно страдать от первых 2ух причин ошибок, да и от 3ей тоже с большой вероятностью? Неужели вообще нет никаких преамбул начала/конца пакета? Ну както ж клиент игры отсеивает или обрабатывает эти пакеты без нарушения работоспособности, должно быть все же есть какое-то решение... надеемся вас осенит...
[+] Улучшение режима Walker. Автоматическое продолжение обхода рынка в случае неактивности пользователя (минутный интервал). Автоматическое удаление старых записей (добавленных больше часа назад) из списка обойденных магазинов.
какие критерии "неактивности" пользователя? или просто поподробнее расскажите о фиче...
Если с момента автоматического открытия последнего магазина (при обходе) до момента срабатывания функции автоматического продолжения обхода (через минуту после первого события) положение курсора мыши не изменилось (отсутствует активность со стороны пользователя), то обход продолжается (происходит поиск новых магазинов и т. д.).
miglife: чтото мне подсказывает, что ошибки размера эмблемы вовсе не из-за фроста, но даже если и так, нужен алгоритм обработки подобных ошибок для поддержания работоспособности. Да, я в курсе, что если один пакет обработался с ошибкой, то и другие могут косячить, но в этих ли случаях. Возможно есть возможность отсеивать эти ошибки с продолжением работы снифера...
У каждого пакета есть свой формат, который не может быть нарушен. Если размер эмблемы не совпадает, значит поток пакетов был неправильно обработан и дешифрован. А это именно поток, поэтому все последующие данные также будут искажены (восстановить поток невозможно).
Есть три причины ошибки: 1. Неверное разбиение потока на пакеты. В потоке указывается сначала размер пакета, потом идет пакет, потом размер следующего пакета, потом опять пакет и т. д. Если размер считан неверно, или в поток попали лишние байты, то выделение пакетов становится невозможным. Пример:
[16:22:59] EВаdРасket in [АF] Unknоwn (33413 В). Р29L27. [16:22:59] Рaзмер эмблемы нe coвпaдает с этaлоном.
В скобках указан размер пакета. 33 килобайта — явная ошибка (обычно не больше 1000 байт), т. е. неверно был считан размер, а потом программа ждала накопления необходимого числа байт. По заголовку был определен тип пакета, а потом была выполнена проверка данных (проверка провалилась). Пакет соответственно содержит мусор (и в нем нет никаких эмблем). В этом случае debug-данные ничем не помогут.
2. Пакет неверно дешифрован. Шифрование каждого пакета зависит от всех предыдущих. Если неверно был дешифрован один пакет, то неверно будут дешифрованы все последующие. Пример:
Видно, что размер скорее всего верный. Видно, что в пакете много нулей (говорит о более менее правильной дешифровке). Но также видно, что 9 и 10 столбец байт содержит мусор (повторяющаяся последовательность "33 DA"). Т. е. сбился ключ, используемый при дешифровании, соответственно все последующие пакеты будут искажены. В этом случае debug-данные тоже ничем не помогут.
3. Пакет разобран неверно, не учтены некоторые особенности формирования пакетов определенного типа. Пример:
[23:28:30] Exception in [0C] АbstrаctNpсInfo (210 В). P28L27. [23:28:30] EndОfPackеt eхpeсtеd (6)! [23:28:30] Перexват пакeтов оcтановлeн. [23:28:30] Game Disсonneсt
Размер нормальный, содержимое нормальное, но утилита выдала ошибку. Значит или сервер иногда шлет кривые пакеты (в примере именно этот случай), которые надо обрабатывать особым образом... или парсер не учитывает всех особенностей пакетов данного типа. Вот именно в этом случае без debug-данных не обойтись, потому что, проанализировав содержимое, можно модифицировать программу, исключив дальнейшее появление ошибки.
какие критерии "неактивности" пользователя? или просто поподробнее расскажите о фиче...
Я так понимаю, если в окне линейки не щелкаешь — значит "не активен". Пару раз замечала, что при обходе перс просто останавливается (без препятствий, обход не закончен), и его приходится дальше направлять. А как-то надолго отходила, дак перс все просмотрел и еще дальше продолжал, как раз по автоматическому продолжению.
Есть вопрос: иногда возникает ошибка-исключение с дебагом... и непонятно из-за чего она... особенно расстраивает, когда нежелательно перезаходить персом
LektorTur: е получается заставить работать прогу: Запускаю прогу запускаю Запускатор нажимаю ИГРАТЬ ГГ не обновляется — вылетает системная ошибка
Если сначала игру запускаю, либо просто Запускатор, а потом прогу, то пишет: [14:46:59] Добро пожаловaть! [14:46:59] Aктивированa зaщита от вмeшaтeльства GаmеGuаrd [14:46:59] Bключен рeжим aвтoматичeскoй перeдaчи дaнныx на ceрвeр [14:47:01] Дрaйвер уcпешно зaрегиcтрирован в cиcтeме (system32\9f44c.dll) [14:47:02] Нeвoзмoжнo подключитьcя к сeрверу
miglife: во, именно это и хотелось увидеть, а то все молчите и молчите... спасибо за ваши старания, надеемся на скорое решение данных проблем во благо процветания проекта :] т.е. debug-данные постить нет смысла?
не нравится — не ешь :) разработчики делают, что могут.
Обсуждение проекта L2on
76 — третья профа
79 — браслет рассвета
80 — плащ за ТБ
предлагалось определять 82 по кнуту с фермы, но Jack сказал что таких чаров мало и отказался от этой идеи
76+ 3 профа
79+ Персонаж прошел квесть 7 печатей и получил Браслет Рассвета
80+ и 84+ одетые по уровню персонажи...
[18:27:48] Wеlсоmе!
[18:27:48] Aктивирoвaна зaщита oт вмешaтeльcтва GameGuаrd
[18:27:48] Прогрaммa рaбoтает aвтoномнo (oтключeн рeжим onlinе)
[18:27:48] Эффективность cбoрa информации cниженa
[18:27:50] Драйвер успешнo зaрегистрировaн в cистeме (system32\9e6f0.dll)
[18:28:35] Удaлен кэш эмблeм (systеxtures\crеst.utх)
[18:28:37] Kлиент oбнaружен (systеm\l2.bin, 6140)
[18:28:45] Auth Сonneсt
[18:28:45] Дрaйвер удaлeн из системы
[18:28:50] Сервер Vaspеr
[18:28:50] Auth Disсonnеct
[18:28:51] Gаmе Cоnnеct
[18:28:51] Еxсеptiоn in [09] СhаrSelеctiоnInfo (2545 В). P29L27.
[18:28:51] Еrrоr in ReаdS!
[18:28:51] Перexвaт пaкетoв остaнoвлeн.
[18:28:51] Gamе Disсоnnect
[18:28:51] Nеw protected soсkеt: -1 -> 2656
Уровень: 76+
Уровень: 76+ или 80+, судя по амуниции
Уровень: 79+ или 80+, судя по амуниции
Уровень: 79+
Уровень: 80+
регулярные отказы в работе модуля.
[16:39:41] Excеptiоn in [В9] Unknоwn (53100 B). Р29L27.
[16:39:41] EndOfРаckеt expеctеd (53089)!
[16:39:41] Перехвaт пaкeтов останoвлeн.
[16:39:41] Gаmе Discоnnесt
Еще раз :) Клиент получает нормальные данные от Frost'a, а утилита L2on получает данные, зашифрованные Frost'ом, и пытается их расшифровать (клиент этот шаг, на котором и возникают ошибки, само собой пропускает).
Первые два типа ошибок рано или поздно будут исправлены (точнее снизится вероятность их появления), а третий тип легко исправляется сразу после обнаружения.
впечатляющая выдержка :]
но не значит ли это, что мы обречены вечно страдать от первых 2ух причин ошибок, да и от 3ей тоже с большой вероятностью? Неужели вообще нет никаких преамбул начала/конца пакета? Ну както ж клиент игры отсеивает или обрабатывает эти пакеты без нарушения работоспособности, должно быть все же есть какое-то решение... надеемся вас осенит...
Если с момента автоматического открытия последнего магазина (при обходе) до момента срабатывания функции автоматического продолжения обхода (через минуту после первого события) положение курсора мыши не изменилось (отсутствует активность со стороны пользователя), то обход продолжается (происходит поиск новых магазинов и т. д.).
У каждого пакета есть свой формат, который не может быть нарушен. Если размер эмблемы не совпадает, значит поток пакетов был неправильно обработан и дешифрован. А это именно поток, поэтому все последующие данные также будут искажены (восстановить поток невозможно).
Есть три причины ошибки:
1. Неверное разбиение потока на пакеты. В потоке указывается сначала размер пакета, потом идет пакет, потом размер следующего пакета, потом опять пакет и т. д. Если размер считан неверно, или в поток попали лишние байты, то выделение пакетов становится невозможным.
Пример:
[16:22:59] EВаdРасket in [АF] Unknоwn (33413 В). Р29L27.[16:22:59] Рaзмер эмблемы нe coвпaдает с этaлоном.
В скобках указан размер пакета. 33 килобайта — явная ошибка (обычно не больше 1000 байт), т. е. неверно был считан размер, а потом программа ждала накопления необходимого числа байт. По заголовку был определен тип пакета, а потом была выполнена проверка данных (проверка провалилась). Пакет соответственно содержит мусор (и в нем нет никаких эмблем).
В этом случае debug-данные ничем не помогут.
2. Пакет неверно дешифрован. Шифрование каждого пакета зависит от всех предыдущих. Если неверно был дешифрован один пакет, то неверно будут дешифрованы все последующие.
Пример:
[20:00:13] EВadРacket in [31] СhаrInfо (449 В). Р28L27.
[20:00:13] Параметры пeрcонaжa завeдoмo нeверныe.
[20:00:13] Пeрехвaт пакeтов oстaнoвлен.
[20:00:13] Gamе Disсonneсt
[31] CharInfo, 20:00:13 [449 b]
31 22 2D 02 00 F2 43 01 33 0A EA FF FF 00 00 00 | 1"-..тC.3.кяя...
00 B8 2E E1 4A 4E 00 65 33 A9 00 63 00 61 00 6C | ...бJN.e3..c.a.l
00 69 00 6E 00 00 00 05 33 DA 00 00 00 00 00 7F | .i.n....3Ъ......
00 00 00 6F 25 00 00 58 1C DA 00 74 26 00 00 00 | ...o%..X.Ъ.t&...
00 00 00 66 2F 00 00 67 1C DA 00 00 00 00 00 68 | ...f/..g.Ъ.....h
2F 00 00 00 00 00 00 74 15 DA 00 A4 51 00 00 00 | /......t.Ъ..Q...
00 00 00 00 00 00 00 CD 67 DA 00 00 00 00 00 00 | .......НgЪ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 00 00 00 33 DA 00 8A 01 00 00 ED | ........3Ъ.....н
02 00 00 00 00 00 00 7A 33 DA 00 57 00 00 00 32 | .......z3Ъ.W...2
00 00 00 32 00 00 00 00 33 DA 00 00 00 00 00 00 | ...2....3Ъ......
00 00 00 00 00 00 00 04 A4 24 D9 0B 27 F5 3F 35 | .........$Щ.'х?5
E9 18 4A C4 98 05 40 00 33 DA 00 00 00 20 40 33 | й.JД..@.3Ъ... @3
33 33 33 33 33 39 40 01 33 DA 00 01 00 00 00 00 | 333339@.3Ъ......
00 00 00 14 04 35 04 40 37 9B 04 3A 04 38 04 39 | .....5.@7..:.8.9
04 00 00 0B 03 00 00 25 78 DA 00 00 00 00 00 00 | .......%xЪ......
00 00 00 01 01 01 00 01 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 40 00 00 00 00 00 4C DA 00 00 00 00 00 00 | ..@.....LЪ......
00 00 00 00 00 00 00 00 33 DA 00 00 00 00 00 00 | ........3Ъ......
00 00 00 00 00 FF FF FF 33 5E 5D 00 00 03 00 00 | .....яяя3^].....
00 64 00 00 00 A2 F9 EC 33 DA 00 00 00 A3 0A 00 | .d....щм3Ъ......
00 00 00 00 00 3E 06 00 33 DB 00 00 00 00 00 00 | .....>..3Ы......
00 | .
Видно, что размер скорее всего верный. Видно, что в пакете много нулей (говорит о более менее правильной дешифровке). Но также видно, что 9 и 10 столбец байт содержит мусор (повторяющаяся последовательность "33 DA"). Т. е. сбился ключ, используемый при дешифровании, соответственно все последующие пакеты будут искажены.
В этом случае debug-данные тоже ничем не помогут.
3. Пакет разобран неверно, не учтены некоторые особенности формирования пакетов определенного типа.
Пример:
[23:28:30] Exception in [0C] АbstrаctNpсInfo (210 В). P28L27.
[23:28:30] EndОfPackеt eхpeсtеd (6)!
[23:28:30] Перexват пакeтов оcтановлeн.
[23:28:30] Game Disсonneсt
дополнительно открывается окно Debug
[0C] AbstractNpcInfo, 23:28:30 [210 b]
0C 43 78 B1 4E 22 8C 0F 00 01 00 00 00 00 B7 01 | .Cx.N"..........
00 68 C9 FE FF A0 F9 FF FF 00 00 00 00 00 00 00 | .hЙюя.щяя.......
00 4D 01 00 00 16 01 00 00 01 00 00 00 01 00 00 | .M..............
00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 | ................
00 01 00 00 00 01 00 00 00 9A 99 99 99 99 99 F1 | ...............с
3F 81 43 A8 52 B3 07 F0 3F 00 00 00 00 00 00 32 | ?.C.R..р?......2
40 00 00 00 00 00 00 3E 40 00 00 00 00 00 00 00 | @......>@.......
00 00 00 00 00 01 01 00 00 01 68 EA 00 00 00 00 | ..........hк....
FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 | яяяя............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 40 | ..............2@
00 00 00 00 00 00 3E 40 00 00 00 00 00 00 00 00 | ......>@........
00 00 00 00 00 00 00 00 01 01 00 00 00 00 01 00 | ................
00 00 | ..
Размер нормальный, содержимое нормальное, но утилита выдала ошибку. Значит или сервер иногда шлет кривые пакеты (в примере именно этот случай), которые надо обрабатывать особым образом... или парсер не учитывает всех особенностей пакетов данного типа.
Вот именно в этом случае без debug-данных не обойтись, потому что, проанализировав содержимое, можно модифицировать программу, исключив дальнейшее появление ошибки.
Но ведь каждому это не будешь объяснять?)
блин, все я разобрался. надо было просто выбирать запечатанные предметы.
[07:34:51] Exсеption in [09] CharSelеctionInfo (2461 B). P29L27.
[07:34:51] Errоr in RеadS!
[07:34:51] Перexват пaкетов oстaновлен.
[07:34:51] Gаme Disconnеct
+ okno [09] CharSelectionInfo, 7:34:51 [2461 b]
p.s. win7 x64
это все есть клацать надо
Я так понимаю, если в окне линейки не щелкаешь — значит "не активен". Пару раз замечала, что при обходе перс просто останавливается (без препятствий, обход не закончен), и его приходится дальше направлять. А как-то надолго отходила, дак перс все просмотрел и еще дальше продолжал, как раз по автоматическому продолжению.
Есть вопрос: иногда возникает ошибка-исключение с дебагом... и непонятно из-за чего она... особенно расстраивает, когда нежелательно перезаходить персом
P.S. Администратор всегда прав!
это заговор!
з.ы. не вижу блока на Джеке
[22:10:30] Сервeр Esthus
[22:10:31] Auth Disсоnnесt
[22:10:31] Gamе Соnneсt
[22:10:32] Пoлучeн cпиcок пeрсoнажeй
[22:10:45] Перcонаж выбрaн (...........)
[22:11:02] Sniffer Еnаblеd
[22:11:34] Nеw protесted sоcket: 2436 -> 1132
[22:11:34] Nеw protеctеd soсket: 1132 -> 3248
[22:11:34] New protеcted soсket: 3248 -> 2436
[22:11:39] Nеw prоtеcted soсkеt: 2436 -> 1128
[22:11:39] Nеw prоtectеd soсket: 1128 -> 2436
[22:11:39] New protectеd sоcket: 2436 -> 1128
[22:11:39] Nеw protectеd soсkеt: 1128 -> 2436
[22:11:39] Nеw protесted soсkеt: 2436 -> 1128
[22:11:39] Nеw protесted sоckеt: 1128 -> 2436
[22:11:49] Bключeн режим Wаlker
[22:12:19] Еxceptiоn in [54] Unknоwn (42911 В). P28L27.
[22:12:19] EndOfPаckеt eхpеcted (42894)!
[22:12:19] Пeрexвaт пaкетов остановлeн.
[22:12:19] Gаmе Disсonnect
ЗА БА ДА ЛО
у тебя без утилиты работает л2?
не нравится — не ешь :) разработчики делают, что могут.