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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 07.03.2009, 19:21   #1
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию апихуки.

что юзает л2 для чтения с сокета ?
потыкался как слепой кролик в сторону recv wsarecv wsarecvfrom - ноль.
alexteam вне форума   Ответить с цитированием
Старый 07.03.2009, 23:06   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

recv скорее всего, в крайнем случае wsarecv, больше точно ничего не юзает, ты либо тыкался не туда, либо каконить ГГ мешал тыкаться)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 07.03.2009, 23:08   #3
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Угу. в корейской доке об трепанации гг - есть упоминание о такой вещи.
прикрепить ловушку раньше чем это сделает гг возможно ?.
alexteam вне форума   Ответить с цитированием
Старый 07.03.2009, 23:21   #4
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

alexteam, ну ГГ грузиться довольно долго, так что если успеть "пропатчить" клиент в первые секунды запуска то по идее пахать должно...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 07.03.2009, 23:29   #5
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Просто учитывая сегодняшние ковыряние и слепые тыкания у меня сложилось впечатление что клиент имеет свою собственную функцию для чтения/записи в сокеты.
обнадежил, буду долбить дальше эту стену.
для начала - ловушку на креейт процес.. а потом в ловушке на креейт - сам инжект.
матрешка.. блин.
alexteam вне форума   Ответить с цитированием
Старый 09.03.2009, 16:27   #6
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

в общем - написана софтина инжектирующая длл в процесс линейки, позволяющая без создания прокси манипулировать тем что отсылает/принимает линейка, отсылать пакеты от имени процесса ла2 ну и в этом духе.
идеально работает на клиентах без гг.
единственная проблемма - сам гг. после старта он востанавливает таблицу импортов для некоторых функций процесса линейки, в перечень их входит сенд и рецв.

после очередных слепых тыканий уже в сторону гг было выяснено что
гг сканирует первые байты защищаемых функций на предмет фарджампов и восстанавливает функцию если находит джампы.

есть 4 метода для создания подобных руткитов.
1. перехватываются функции LoadLibrary и GetProcAddress библиотеки kernel32.dll - GetProcAddress выдает поинтер моей функции. (годится для приложений загружающих длл динамически, пробовал это на гг - потерпел крах. линейка тоже не использует динамику)

2. с модификацией таблицы импорта. без гг метод прекрасно работает. пока за дело не принимается гг - исправляющий фарджампы. тем не менее я все еще могу отсылать данные от клиента, хотя видеть что шлет/принимает клиент с запущенным гг - не могу -)

3. метод сочетающий первое и второе (был опробован. гг выдавался неверный адресс рецв и сенд, и одновременно модифицировалась таблица импорта в линейке. потерпел крах. гг не держал чужую длл в своем адресном пространстве дольше чем пару секунд. потом происходил деатач дллки. запретить фрилибрари и подобных не удалось)

4й метод. интересный. чемто похож на 2й. но записываеться не джамп а машинный код своей функции в начале/конце целевой функции. если я правильно понимаю гг не увидит джамп, и естественно не будет ничего править.
есть у кого нибудь информация по подобной вещи ?.
alexteam вне форума   Ответить с цитированием
Старый 23.03.2009, 21:28   #7
Новичок
 
Регистрация: 07.03.2009
Сообщений: 18
Сказал Спасибо: 2
Имеет 3 спасибок в 2 сообщенях
fragus пока неопределено
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
2. с модификацией таблицы импорта. без гг метод прекрасно работает. пока за дело не принимается гг - исправляющий фарджампы. тем не менее я все еще могу отсылать данные от клиента, хотя видеть что шлет/принимает клиент с запущенным гг - не могу -)
Если не сложно, можешь выложить код длли с таким типом перехвата?
fragus вне форума   Ответить с цитированием
Старый 24.03.2009, 00:01   #8
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
Сообщение от fragus Посмотреть сообщение
Если не сложно, можешь выложить код длли с таким типом перехвата?
то что ты попросил - апи перехват. тобиш не не лсп.
работает при отсутствующем гг. работающий гг снимает перехват рецв и сенд в юзермоде.
присутствуют те же проблемы при отправке пакет на клиент что и с лса модулем. (зарезервированная память под буфер).
функция перехвата данных идущих на сервер требует модификации, если ты собираешься слать буферы по длине превышающие изначально пересылаемые.

добавлено: ах да. никакого разбора траффика нет. чистые необработанные данные.
Вложения
Тип файла: zip test.zip (63.4 Кб, 130 просмотров)

Последний раз редактировалось alexteam, 24.03.2009 в 00:04.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился 4 спасибками от:
Старый 24.03.2009, 21:46   #9
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 50
Сказал Спасибо: 10
Имеет 10 спасибок в 1 сообщении
murc пока неопределено
По умолчанию

alexteam, ты случайно не JEDI API используеш для работы с SPI ? Очень интересная тема, хотелось бы тоже разобратся =)
murc вне форума   Ответить с цитированием
Старый 18.03.2009, 15:27   #10
Новичок
 
Регистрация: 07.03.2009
Сообщений: 18
Сказал Спасибо: 2
Имеет 3 спасибок в 2 сообщенях
fragus пока неопределено
По умолчанию

Интересная тема.
Есть еще вариант использовать LSP для перехвата пакетов. Сейчас скачал исходник с МСДН, буду пробовать.

http://ru.wikipedia.org/wiki/Microso...rvice_Provider
fragus вне форума   Ответить с цитированием
За это сообщение fragus нажился 2 спасибками от:
Ответ

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



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

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


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

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

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