Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
NetMinon
0 / 0 / 0
Регистрация: 16.12.2006
Сообщений: 88
#1

Существует ли возможность перехватить файловые операции? - C++

14.12.2007, 02:49. Просмотров 1314. Ответов 9
Метки нет (Все метки)

Профи, вопрос для вас!!!)
Существует ли возможность перехватить файловые операции (копирование, создание, удаление, итд)?
например: 'Отследить все скопированые файлы за неделю' или 'перехватить и запретить перезапись определенного файла'
как я понял ICopyHook дает возможность перехватить оперции только над папками..(а жаль)...
помогите плз))))
Зарание благодарен - Роман
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2007, 02:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Существует ли возможность перехватить файловые операции? (C++):

Файловые операции - C++
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих не более чем из четырех букв.

Файловые операции 2-ого уровня сложности. - C++
Подскажите пожалуйста найти такую штуку: список файловых ошибок(не уверен что правильно называю даже). Например,...

Файловые операции: генерировать файл, читать, редактировать, записывать - C++
Попалось задание на заочке, немного не представляю, как его сделать на плюсах (тем более чтобы работало на Borland C++ 5). Кто может...

Существует ли в C++ такая возможность() - C++
Можно ли в с++ сделать так: любой написанный отрывок кода вырезать, вставить в отдельный файл( например .h) обозначить названием. ...

Файловые операции - Visual Basic
Вот мой готовый модуль для удовлетворения почти всех потребностей в работе с файлами работает в обычном модуле .Bas но вы можете...

Файловые операции в MS-DOS - CMD/BAT
Ребята, помогите пожалуйста Задача №1. На диске A создать 2 каталога BOR1 и BOR2. В каталоге BOR1 создать файл Park.txt, содержащий...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
pwa
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 35
17.12.2007, 10:55 #2
Есть у меня исходник программы Virtual Cage - фиксирует практически все действия прикладной программы. Жаль, на немецком, трудно настроить.
Написана на VC (DLL) и Delphi (пользовательский интерфейс). Могу послать.
NetMinon
0 / 0 / 0
Регистрация: 16.12.2006
Сообщений: 88
19.12.2007, 20:33  [ТС] #3
скс, если есть возможность обязательно вышли...
NetMinion@narod.ru
заранее благодарен
pwa
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 35
20.12.2007, 12:21 #4
Выслал два архива 'как есть'.
Если получится что-нибудь интересное, буду благодарен за информацию.
Например, обман программы - реботает с некоторым обьектом (файл, канал связи), а на самом деле ее действия проходят через некоторый фильтр. И т.п.
NetMinon
0 / 0 / 0
Регистрация: 16.12.2006
Сообщений: 88
20.12.2007, 22:54  [ТС] #5
м да((( код писался емто ну очень умным....((
я ниче не понял, хотя пытался... если есть профи которые в остоянииразобраться, и у них есть желание... то могу выслать файлы...
заранее скс
ioka
0 / 0 / 0
Регистрация: 17.10.2007
Сообщений: 16
23.12.2007, 01:36 #6
Пришлите пожалуйста исходные файлы мне
NetMinon
0 / 0 / 0
Регистрация: 16.12.2006
Сообщений: 88
23.12.2007, 13:45  [ТС] #7
выслал...
если разберешься напиши плз...
ioka
0 / 0 / 0
Регистрация: 17.10.2007
Сообщений: 16
03.01.2008, 05:55 #8
посмотрел я программу, эта программа описанна в одном немецком журнале C'T 10,11 2001.
Стать есть у меня но только в бумажной форме на немецком языке.

Это DLL которая через CBT Hook , другой вариант через Registry, загружается в каждый процесс, и заменяет в нём адреса некоторых импортированных функций на собственные Stubs , теперь когда процесс вызывает какую нибудь импортированную функцию, управление передаётся в собственный Stub.

что интересует конкретно ?
NetMinon
0 / 0 / 0
Регистрация: 16.12.2006
Сообщений: 88
06.01.2008, 03:29  [ТС] #9
а какие конкретно функции она заменяет, и как она собственно заменяет?
ioka
0 / 0 / 0
Регистрация: 17.10.2007
Сообщений: 16
07.01.2008, 05:15 #10
1. Список перехватываемых функций см. intercept.c array __FunctionList

2. В каждом модуле в Task т.е. exe и dlls есть импорт таблицы в которые при загрузке модуля память записываются адреса функций вызываемых в данном модуле но находящихся в других dll.

Как добраться до этих таблиц - см. в intercept.c функции InterceptFunctionsInModule (настройка адресов одного модуля) и InterceptFunctionsInTask (вызывает InterceptFunctionsInModule для всех модулей в Task)

Импорт таблицы содержаться в .idata section. доступ к этой секции через заголовок PE файла, заголовок
PE файла одинаков на диске и в памяти. Basis address dll это Instance Handle.

Замена статически линкованных dlls и exe происходит при загрузке dll перехвата vc1.dll в адресное пространство процесса(в качестве hook dll).
Динамически загруженные dlls заменяются в функции перехвата LoadLibrary и LoadLibraryEx поэтому эти фукции должны всегда перехватываться.

Кстати, см статью http://rsdn.ru/qna/?baseserv/hookapi.xml
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2008, 05:15
Привет! Вот еще темы с ответами:

Файловые операции, Error C3867 - Visual C++
Работаю в vs 2005. Столкнулся с такой вот проблемой: на такой код: #include<iostream> #include<fstream> using namespace std; ...

Интерпретация командной строки. Файловые операции POSIX. Прошу помочь дописать программу - C Linux
Стоит такое задание: Написать программу, которая обеспечивает работу команды вида : , где - a и - b несовместимые флаги - если...

Существует ли возможность скомпилировать Перл? - Perl
Существует ли возможность скомпилировать Перл??????

Существует ли принципиальная возможность закачивания больших файлов? - PHP
На нашем хостинге upload_max_filesize и post_max_size не могут превышать 50М. Означает ли это, что на находящийся на этом хостинге сайт в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.01.2008, 05:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru