Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 22.06.2011, 21:05   #1
Новичок
 
Регистрация: 15.05.2011
Сообщений: 16
Сказал Спасибо: 3
Имеет 4 спасибок в 4 сообщенях
Diverclaim пока неопределено
По умолчанию Алгоритмы перехвата трафика. L2PH.

Добрый день.
"Задумал" написать простенький сниффер трафика одной игры. Раньше делал для другой игры прокси - отдельной приложение на C#, и чтобы клиент соединялся именно с прокси, приходилось открывать бинарники клиента и заменять там ип сервера. Такой метод меня очень задолбал, поэтому ищу другие способы перехвата трафика (с возможностью отослать клиенту или серверу любые данные, а также блокировать проходящие пакеты). Может кто-нибудь рассказать об алгоритмах перехвата пакетов в l2ph? Если с инжектом длл и хуками на recv() send() все ясно (хукать c# не сможет (только через ****), придется писать на плюсах длл, а программу на шарпе), то с ЛСП не очень (самый интересный способ )... И еще очень интересно как программа "общается" с ддлкой (в случае инжекта например) и получает перехваченные данные от длл? (расшифровывать пакеты буду в самой программе, благо алгоритмы уже есть).
P.S. Читал ЗДЕСЬ, ТАМ и ТУТ. В последней теме как раз обсуждался лсп перехват, и некто даже собирался выложить исходники (без "лишнего"), однако лсп попал сразу в л2пх, и достать нужное среди исходников пакетхака очень трудно.
Заранее спасибо за любую помощь)
Diverclaim вне форума   Ответить с цитированием
Старый 22.06.2011, 22:12   #2
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Diverclaim Посмотреть сообщение
И еще очень интересно как программа "общается" с ддлкой
стопицот вариантов.
http://www.google.ru/search?client=o...hannel=suggest

Добавлено через 3 минуты
Цитата:
Сообщение от Diverclaim Посмотреть сообщение
хукать c# не сможет (только через ****)
хуки сводятся к "байтики в массив написать".
в c# с этим какието проблемы?

Цитата:
Сообщение от Diverclaim Посмотреть сообщение
придется писать на плюсах длл, а программу на шарпе
на шарпе низя написать длл?
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 22.06.2011 в 22:12. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 22.06.2011, 22:27   #3
Новичок
 
Регистрация: 15.05.2011
Сообщений: 16
Сказал Спасибо: 3
Имеет 4 спасибок в 4 сообщенях
Diverclaim пока неопределено
По умолчанию

Цитата:
Сообщение от destructor Посмотреть сообщение
хуки сводятся к "байтики в массив написать".
в c# с этим какието проблемы?
Предположим я знаю что хукать, но перехватить то не смогу... Нельзя сделать jmp на метод в managed коде. Есть конечно разные типы хуков, можно конечно захукать вообще не внедряя длл, но мне желательно попроще способ (и да таки я прошу не код, а идею способа).
Цитата:
на шарпе низя написать длл?
Можно. И будет тебе managed-dll. Одно "но" - мсил выполняется только под виртуалкой дотнета. Там не машинный код, поэтому "просто заинжектить" не получится. Есть несколько способов (EasyHook например), но это и называется через ****
Diverclaim вне форума   Ответить с цитированием
Старый 22.06.2011, 22:38   #4
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

тоесть эту длл низя будет использовать в обычном приложении?
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Старый 22.06.2011, 22:51   #5
Пользователь
 
Регистрация: 08.05.2008
Сообщений: 61
Сказал Спасибо: 0
Имеет 21 спасибок в 12 сообщенях
Hint пока неопределено
По умолчанию

Цитата:
Сообщение от destructor Посмотреть сообщение
тоесть эту длл низя будет использовать в обычном приложении?
Только если через жопу, потому что .NET DLL и Win32 DLL не имеют практически ничего общего. Если кому-то очень надо вызывать функции .NET библиотеки из Win32 приложения, то обычно взаимодействие реализуют через COM, но это не катит в случае готового приложения.
Hint вне форума   Ответить с цитированием
Старый 22.06.2011, 22:58   #6
Новичок
 
Регистрация: 15.05.2011
Сообщений: 16
Сказал Спасибо: 3
Имеет 4 спасибок в 4 сообщенях
Diverclaim пока неопределено
По умолчанию

http://www.codingthewheel.com/archiv...d-assembly-dll можно так, но это очень через жопу... Тут вообще-то инжектится обычная dll, которая вызывает методы managed dll.
Все вопросы еще в силе! (кроме "И еще очень интересно как программа "общается" с ддлкой")

Последний раз редактировалось Diverclaim, 22.06.2011 в 23:01.
Diverclaim вне форума   Ответить с цитированием
Старый 22.06.2011, 23:15   #7
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

тамже компилятор легко умеет делать переходники managed\native.
"смешанное приложение" или както так хз.
инжектилка для экста так написана.

или так только в плюсах можно?

Добавлено через 12 минут
Цитата:
Сообщение от Diverclaim Посмотреть сообщение
Все вопросы еще в силе!
ну в с# есть проблемы,
выходит проще\быстрее написать на с++(даже если незнаешь язык).

но тогда какие могут быть вопросы?
джампы на send\recv вроде отлично ставятся


у тебя 3 варианта.
1. прокси через свой сервер (можно развернуть трафик сторонним софтом)
2. хуки сокетных апи (классика)
3. лсп перехват (тоже самое что пункт 2, но инжектит полуавтоматически).

остальное экзотика.
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 22.06.2011 в 23:15. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 22.06.2011, 23:40   #8
Новичок
 
Регистрация: 15.05.2011
Сообщений: 16
Сказал Спасибо: 3
Имеет 4 спасибок в 4 сообщенях
Diverclaim пока неопределено
По умолчанию

Виндовое приложение проще/быстрее написать на плюсах ? омг... не буду разводить холиваров, но я предпологаю написать длл на плюсах, а "окошечки" на шарпе.
Цитата:
тамже компилятор легко умеет делать переходники managed\native.
"смешанное приложение" или както так хз.
инжектилка для экста так написана.

или так только в плюсах можно?
Да, только в плюсах. C++/CLI это называется. Но и ту длл тоже нельзя "просто так заинжектить".

Последний раз редактировалось Diverclaim, 22.06.2011 в 23:43.
Diverclaim вне форума   Ответить с цитированием
Старый 22.06.2011, 23:45   #9
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Diverclaim Посмотреть сообщение
Виндовое приложение проще быстрее написать на плюсах ? омг... не буду разводить холиваров, но я предпологаю написать длл на плюсах, а "окошечки" на шарпе.
я про длл и говорил

Добавлено через 2 минуты
на счет "написать приложение" можно поспорить, т.к. это от приложения зависит=)
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 22.06.2011 в 23:45. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 22.06.2011, 23:46   #10
Новичок
 
Регистрация: 15.05.2011
Сообщений: 16
Сказал Спасибо: 3
Имеет 4 спасибок в 4 сообщенях
Diverclaim пока неопределено
По умолчанию

Цитата:
Сообщение от destructor Посмотреть сообщение
я про длл и говорил
А ну это то понятно) выбора то и нет)
Меня еще интересует лсп перехват. Лсп модуль вроде перехватывает абсолютно весь трафик, так? Как же тогда определить какие именно пакеты ловить? Хукать connect и запоминать ип сервера?
Цитата:
на счет "написать приложение" можно поспорить, т.к. это от приложения зависит=)
Под виндовым приложение я имел ввиду приложение активно использующее разнообразные wingui элементы и не использующее низкоуровнивые фичи ОС (типа драйверов и т.д.). На плюсах это все равно костыли, даже если взять Qt, и не обсуждать "сборку мусора" (кого-то устраивает, кого-то нет).

Последний раз редактировалось Diverclaim, 22.06.2011 в 23:49.
Diverclaim вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

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


Часовой пояс GMT +4, время: 09:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!