Перехват действий с файлом
|
|
Hargen | Дата: Вторник, 17.12.2013, 15:32 | Сообщение # 1 |
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
| в директории filepath есть фаилы типа filename.ext к ним обращается proga.exe и пишет/читает из них данные, создает их и удаляет Идея такая : перехватить все действия этой программы с файлами и поддерживать их в памяти для ускорения работы проги, Т.Е. она будет работать с буферризоваными файлами сама того не ведая, что должно повысить производительность. По ходу дела можно будет изучить что и как она с ними делает.
Как лучше это реализовать?
Главное - не изобретать велосипед
|
|
| |
Волк-1024 | Дата: Вторник, 17.12.2013, 18:01 | Сообщение # 2 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Перехватываешь нативные функции из ntdll.dll по работе с файлами, то есть NtReadFile, NtWriteFile и т.д. А вот дальше, как ты будешь соотносить буферезированный файл и настоящий файл - это уже будет твой полёт фантазии. Я, например, сделал бы таблицу соответствии имени файла и участка памяти. То есть, если программа захочет прочитать файл 1.txt, то она обратится к жесткому диску, а так как функции по работе с файлами будут перехвачены, мы просто подставим для чтения\записи нужное количество байт.
Pascal, C\C++, Assembler, Python
|
|
| |
Anton93 | Дата: Вторник, 17.12.2013, 21:42 | Сообщение # 3 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| Волк-1024, если не ошибаюсь, чтобы их перехватить надо написать библиотечку, которую надо подбросить во все процессы, ну в ней хук соответственно на нужные функции
ICQ: 41896
|
|
| |
Волк-1024 | Дата: Вторник, 17.12.2013, 23:34 | Сообщение # 4 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Зачем во все процессы-то? На сколько я понял, тут требуется перехват только в одном процессе.
Pascal, C\C++, Assembler, Python
|
|
| |
Anton93 | Дата: Вторник, 17.12.2013, 23:40 | Сообщение # 5 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| тьфу блин) по привычке написал. обычно когда перехватываю, то во все гружусь, а тут немного другое
ICQ: 41896
|
|
| |