Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
NetMinon
0 / 0 / 1
Регистрация: 16.12.2006
Сообщений: 88
1

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

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

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

Файловые операции
Написать программу, которая считывает текст из файла и определяет, сколько в...

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

Файловые операции: генерировать файл, читать, редактировать, записывать
Попалось задание на заочке, немного не представляю, как его сделать на плюсах...

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

Калькулятор: добавить возможность вводить более одной операции сразу
Сделал калькулятор, работает нормально, но программа считает только два числа...

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

что интересует конкретно ?
0
NetMinon
0 / 0 / 1
Регистрация: 16.12.2006
Сообщений: 88
06.01.2008, 03:29  [ТС] 9
а какие конкретно функции она заменяет, и как она собственно заменяет?
0
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
0
07.01.2008, 05:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2008, 05:15

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

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

Файловые операции, Error C3867
Работаю в vs 2005. Столкнулся с такой вот проблемой: на такой код:...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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