Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 20:08   #1
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию Перехват вывода

Всем привет! Есть библиотека dll(написана на с++), которая внедрена в таблицу импорта программы предположим prog1.exe , prog1.exe выводит какие-то данные в список или браузер(Знать мне не дано). Собственно вопросы как перехватить этот вывод, записать в txt файл, а потом отправить их дальше. Мне подсказали как то с помощью хуков. Если можете, желательно с кодом.
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 02.02.2011, 21:00   #2
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Перехват ws_32.dll!send /WSASеnd и иже с ними в зависимости от того, что вам надо(вы как то расплывчато объяснили), может и вообще нечто другое. В перехватчике берем из стека адрес буфера с данными(он же передавался как параметр функции) и сохраняем в файл, затем вызываем оригинальную функцию. Методы перехвата описаны в туториалах, тыщи их+гугл.
Про с++ библиотеку вообще не понял к чему речь.
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 02.02.2011, 21:06   #3
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

2yuran666666
Можешь по подробнее? Я вообще не въехал
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 02.02.2011, 21:36   #4
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

На сколько я вас понял нужно перехватывать и сохранять данные отправляемые в сеть. Для начала нужно определить какие функции программа использует для отправки, просто предположим, что это будет send из ws_32.dll. Необходимо выполнить перехват этой функции. Перехват подразумевает под собой, что при вызове перехваченной функции управление вначале получит наш код и мы можем легко скопировать и даже земенить все передаваемые этой функцией данные.
send имеет 4 параметра, которые заталкиваются в стек и затем уже только происходит вызов функции(также в стек ложиться адрес возврата из функции при ее вызове). Функция перехвачена и управление сразу после вызова получил наш код. В [esp+8] мы имеем второй параметр функции сенд, который является адресом буфера с данными, который данная функция хочет передать в сеть. В [esp+0ch] - размер данного буфера. Сохраняем данные в файл, вызываем оригинальную сенд.
Про способы реализации перехвата опять же-в тысячный раз повторять не имеет смысла
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 02.02.2011, 22:20   #5
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

yuran666666 прости конечно, но можешь ещё и сорс?
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 02.02.2011, 23:08   #6
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Ну да, вот все бросил подключился к астралу, перешел в ментал и сел писать с телефона сам не зная подо что перехватчик также неизвестно чего

1. Сформулируйте что вам конкретно надо
2. Бинарник программы с которой это_надо надо сделать
3. Уж точно не нынче ночью
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничение вывода Interfere Общие вопросы C/C++ 2 07.05.2009 21:00
Сокращение вывода Nightwolf Microsoft Office Access 1 23.04.2009 08:33
перехват консольного ввода\вывода Артем5555555 Win Api 14 28.10.2008 23:20
Перехват вывода консольного приложения Роман Радер Общие вопросы Delphi 0 12.02.2007 18:40