|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.02.2011, 20:08 | #1 |
LosYear
Форумчанин
Регистрация: 19.06.2009
Сообщений: 695
|
Перехват вывода
Всем привет! Есть библиотека dll(написана на с++), которая внедрена в таблицу импорта программы предположим prog1.exe , prog1.exe выводит какие-то данные в список или браузер(Знать мне не дано). Собственно вопросы как перехватить этот вывод, записать в txt файл, а потом отправить их дальше. Мне подсказали как то с помощью хуков. Если можете, желательно с кодом.
|
02.02.2011, 21:00 | #2 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Перехват ws_32.dll!send /WSASеnd и иже с ними в зависимости от того, что вам надо(вы как то расплывчато объяснили), может и вообще нечто другое. В перехватчике берем из стека адрес буфера с данными(он же передавался как параметр функции) и сохраняем в файл, затем вызываем оригинальную функцию. Методы перехвата описаны в туториалах, тыщи их+гугл.
Про с++ библиотеку вообще не понял к чему речь.
Нет, ну правда..
|
02.02.2011, 21:36 | #4 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
На сколько я вас понял нужно перехватывать и сохранять данные отправляемые в сеть. Для начала нужно определить какие функции программа использует для отправки, просто предположим, что это будет send из ws_32.dll. Необходимо выполнить перехват этой функции. Перехват подразумевает под собой, что при вызове перехваченной функции управление вначале получит наш код и мы можем легко скопировать и даже земенить все передаваемые этой функцией данные.
send имеет 4 параметра, которые заталкиваются в стек и затем уже только происходит вызов функции(также в стек ложиться адрес возврата из функции при ее вызове). Функция перехвачена и управление сразу после вызова получил наш код. В [esp+8] мы имеем второй параметр функции сенд, который является адресом буфера с данными, который данная функция хочет передать в сеть. В [esp+0ch] - размер данного буфера. Сохраняем данные в файл, вызываем оригинальную сенд. Про способы реализации перехвата опять же-в тысячный раз повторять не имеет смысла
Нет, ну правда..
|
02.02.2011, 23:08 | #6 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Ну да, вот все бросил подключился к астралу, перешел в ментал и сел писать с телефона сам не зная подо что перехватчик также неизвестно чего
1. Сформулируйте что вам конкретно надо 2. Бинарник программы с которой это_надо надо сделать 3. Уж точно не нынче ночью
Нет, ну правда..
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ограничение вывода | 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 |