Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > Tools

Важная информация

Tools Обсуждение программ для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2013, 09:38   #1
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию [DEV]Java sniffer

https://github.com/MinimaJack/JSniffer
для билда 16992,17055

Собирать

забирать:

в sniffer.properties настройки.
Код:
sniffer.networkDeviceIndex = 1
По умолчанию используется второй (отсчет от нуля ) интерфейс
для изменения настроек скопировать sniffer.properties из исходников и положить рядом с джарником. Ну и изменить настройки.
sniffer.log.enablePkt = 1 - сохранять лог в пкт формат(версия 3.1), по умолчанию включен
sniffer.log.enableTxt = 0 - сохранять лог в тестовой формат, по умолчанию выключен

Архив со всем добром: sniffer.zip

Запускать: run.bat
Для запуска:
  • Необходима jre1.7
  • Необходимо иметь установленую http://www.winpcap.org/ pcap библиотеку.
  • Необходимо запускать wow.exe, либо в лаунчере указать на запуск 32 битной версии вова
  • необходимо запускать снифер с админскими правами

Измененная версия WoWPacketViewer-а от TOM_RUS для поддержки пкт 3.1 Release.zip. Парсеры ес-но надо обновлять вручную.
Теперь можно просмотреть тринити парсером https://github.com/TrinityCore/WowPacketParser

ззы проверил на 64 битной Windows 7601 в режиме запуска как 32, так 64 битной версии программы.

Build
17055 sniffer.properties

Огромное спасибо
YuruY за тестирование.
RomanRom2 за помощь в разработке.

Последний раз редактировалось Evgeniy; 16.06.2013 в 14:39.
Evgeniy вне форума   Ответить с цитированием
5 пользователя(ей) сказали cпасибо:
Lordronn (29.05.2013), NeatElves (01.06.2013), partizanes (30.05.2013), RomanRom2 (29.05.2013), YuruY (08.06.2013)
Старый 06.06.2013, 08:57   #2
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от YuruY Посмотреть сообщение
..пусто пока.(
после закрытия вова, да и переодически после каждого закрытого соединения
в логе будет что то типо такого:
Код:
08:54:59.012 [main] INFO  o.j.sniffer.handler.RawPacketHandler - Close Connection: 195.12.246.241 3724-192.168.1.101 57383
08:55:09.218 [main] INFO  o.j.sniffer.handler.RawPacketHandler - Close Connection: 195.12.246.239 3724-192.168.1.101 57384
16992_13F180D5B01.zip пример
Запускать с административными правами.
Что бы что то появилось, минимум необходимо зайти до выбора персонажа.
Вложения
Тип файла: zip 12.zip (328 байт, 487 просмотров)

Последний раз редактировалось Evgeniy; 16.06.2013 в 13:36. Причина: aslr ...for edit
Evgeniy вне форума   Ответить с цитированием
Старый 10.06.2013, 16:15   #3
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Имеет ли смысл встраивать скриптование для обработки пакетов?
То есть либо, обработка пакета, либо запись дополнительных данных в лог файл, да и в общем то любых действий.
Evgeniy вне форума   Ответить с цитированием
Старый 10.06.2013, 16:46   #4
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

нет, не имеет. пусть снифер занимается своим делом. обработку нужно делать в оффлайне.

единственный тип обработки мне приходит на ум - это то, что делал вад в свое время: радар детектор. приложение показывало видимые объекты вокруг в окошке.
RomanRom2 вне форума   Ответить с цитированием
Старый 10.06.2013, 16:52   #5
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
нет, не имеет. пусть снифер занимается своим делом. обработку нужно делать в оффлайне.

единственный тип обработки мне приходит на ум - это то, что делал вад в свое время: радар детектор. приложение показывало видимые объекты вокруг в окошке.
я и намекал, что любых действий...радар также возможен
Конкретно о заполнении опциональных данных в снифах.
Evgeniy вне форума   Ответить с цитированием
Старый 10.06.2013, 17:35   #6
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

Кстати, от куда можно причитать ConnectionId (никак не могу найти)
Сейчас вот тестю свой инжектор, все пишется, а вот ConnectionId незнаю от куда вытащить.

ЗЫ. И еще один вопрос к знающим людям.
Для записи в файл я использую WinApi функции и вызываю их по оффсету в клиенте.
Может есть другой способ определить адрес импортированной функции?
__________________

Последний раз редактировалось Konctantin; 10.06.2013 в 17:40.
Konctantin вне форума   Ответить с цитированием
Старый 10.06.2013, 17:41   #7
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от Konctantin Посмотреть сообщение
Кстати, от куда можно причитать ConnectionId (никак не могу найти)
Сейчас вот тестю свой инжектор, все пишется, а вот ConnectionId незнаю от куда вытащить.
без понятия как там в клиенте...у меня хеши джава объектов( грубо говоря хеш с портов и йп). Роман говорил, что подойдет и обычная нумерация. По идее, что бы отделить пакеты от разных серверов, подойдет что угодно.
Evgeniy вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Konctantin (11.06.2013)
Старый 11.06.2013, 10:44   #8
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

Цитата:
Сообщение от Evgeniy Посмотреть сообщение
По идее, что бы отделить пакеты от разных серверов, подойдет что угодно.
из разных коннектов. да, важно что бы эта нумерация не пересекалась в рамках одного снифа. а какие именно значения там будут - это не важно. важно, что бы они были уникальными.
RomanRom2 вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Evgeniy (11.06.2013), Konctantin (11.06.2013)
Старый 11.06.2013, 16:17   #9
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Обновил снифер для запуска пользовательских скриптов.
Скрипты на джава.
Папка со скриптами script/ (Обновился конфиг, добавился путь к хмл описанию скриптов)
scripts.xml - описание скриптов....йд скрипта, класс и путь к файлу скрипта.
Для примера написаны 2 скрипта:
TestScript.java - имплеминирует два интерфейса ScriptHandler и Runnable, означает что у него будет вызван(и должен существовать) метод initScript, Runnable - что скрипт будет запущен в другом потоке(будет выполнен метод run). В самом методе ничего интересного нет: в цикле отображается системное время 5 раз с промежутком в одну секунду.
UiLogger.java - имплемениерует PacketLogHandler - что означает, что данный класс будет добавлен в цепочку логеров на получение всех пакетов путем вызова метода:
Код:
public void onDecodePacket(NetworkChannel channel, Direction direction, Integer size,
            Integer opcode, byte[] data, int frame);
Конкретно данный класс создает гуи окно, показывает счетчик пакетов и по нажатию на закрытие(крестик) окна - отключает снифер.

Скрипты загружаются из хмл, но компилируются все вместе. Из-за чего ошибка в одном скрипте может не дать работать остальным.
Для работы со скриптами, а именно компиляции в рантайме, необходимо наличие установленой JDK. Для тех у кого нет JDK - скрипты работать не будут и в логе будет предупреждение.
Evgeniy вне форума   Ответить с цитированием
Старый 11.06.2013, 16:29   #10
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

компиляцию в рантайме, по моему, может только дотнет делать. Nomad в свое время делал это в своем RunServer и мне показывал как это круто
RomanRom2 вне форума   Ответить с цитированием
Старый 11.06.2013, 16:30   #11
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
компиляцию в рантайме, по моему, может только дотнет делать. Nomad в свое время делал это в своем RunServer и мне показывал как это круто
Ну джава и с# близки, компиляция в рантайме работает. Значит джава тоже может.
Evgeniy вне форума   Ответить с цитированием
Старый 11.06.2013, 16:35   #12
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

да, мне мои джава-гуру-пацаны рассказали, джава тоже может, причем lдаже нативно. javax.script.*
RomanRom2 вне форума   Ответить с цитированием
Старый 13.06.2013, 11:53   #13
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

кто то пользуется? Или так ....есть и ладно?
Evgeniy вне форума   Ответить с цитированием
Старый 13.06.2013, 20:48   #14
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

В шапке обновил конфигурацию для билда 17055
Evgeniy вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
YuruY (14.06.2013)
Старый 14.06.2013, 23:27   #15
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

пока нет. чото как то не улыбает выключение ASLR... надо что то думать.
RomanRom2 вне форума   Ответить с цитированием
Старый 16.06.2013, 10:50   #16
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Теперь можно не отключать ASLR. В первом посте обновленный конфиг и release build.
Для включения ASLR удалить ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\MoveImages
либо импортировать reg файл из enableASLR.zip (запустить и импортировать)

Последний раз редактировалось Evgeniy; 16.06.2013 в 15:28.
Evgeniy вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
partizanes (20.06.2013), RomanRom2 (16.06.2013)
Старый 20.06.2013, 09:06   #17
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Вопросы, предложения, пожелания...
Пока из насущных проблем - написание С библиотеки для получения ключа под вайном. Pcap и Java работают замечательно, но вот с кодом на С у меня проблемы. Если кто желает помочь проекту в этом нелегком труде, буду только рад.
Имеет ли смысл создавать гуи?
Автоматическая загрузка снифов на сервера по фтп( либо другому протоколу)?
Evgeniy вне форума   Ответить с цитированием
Старый 20.06.2013, 11:07   #18
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

предложения:
1. автоматический скан и получение ключа
2. полный инсталлер

гуи не надо, аплоад не надо.
RomanRom2 вне форума   Ответить с цитированием
Старый 20.06.2013, 11:33   #19
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
предложения:
1. автоматический скан и получение ключа
2. полный инсталлер

гуи не надо, аплоад не надо.
Поконкретней...что значит автоматический скан?
Evgeniy вне форума   Ответить с цитированием
Старый 20.06.2013, 12:00   #20
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

я вроде рассказывал в скайпе:
запускается снифер, выясняет билд клиента (например 17055).
читает свой конфиг и ищет запись типа
17055=F823AADC
ну типа адрес, где ключ читать.

если полученное значение равно ничему, то записи такой нет, значит надо запустить скан и найти адрес для этого билда.

таким образом в инишнике по сути копятся записи
17000=AABBCCDD
17020=BBCCDDEE
17055=CCDDEEFF

ну так по крайней мере сделано было у меня в снифере.
еще иногда оказывалось, что адрес был записан неверно или еще по каким причинам надо адрес получить заново. поэтому можно было пересканить принудительно, запустив снифер с определенным ключиком. можно конечно из инишника запись удалить, но скан у нас был насколько быстрым, что я запускал его каждый раз и не парился
RomanRom2 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Evgeniy (20.06.2013)
Старый 22.09.2013, 05:44   #21
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Под текущую реву 5.4.0 есть у кого сниффер?
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[DEV]Java emu mAdloVe Tools 170 14.09.2013 18:36
C# vs Java Dragon Флудильня 10 27.06.2012 07:09


Текущее время: 07:37. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot