Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Delphi. Как определить какой программой используеся файл???

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Delphi. Как определить какой программой используеся файл???
Имя
Сообщение << Старые топики   Новые топики >>
Delphi. Как определить какой программой используеся файл??? - 2008-02-10 16:05:24.140000   
rootkit7

Сообщений: 21
Оценки: 0
Присоединился: 2008-02-04 19:19:08.676666
Проблема! Нужно определить какой программой используется открытый файл. Подскажите хотябы в какую сторону думать.
Post #: 1
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-10 18:18:49.976666   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
Глянь как работает вот эта програмка mstIsUsedBy
Post #: 2
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 02:18:29.373333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Если программно - то без недокументированных функций win32 не обойтись.
Post #: 3
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 20:35:34.850000   
Яски Хианто

Сообщений: 13
Оценки: 0
Присоединился: 2007-11-24 17:53:43.173333
Как хорошо, что ты пришел.
   1) Запоминаем имя файла
   2) При помгощи функции zwQuerySystemInformation получаешь хендлы всех открытых файлов
   3) DuplicateHandle в свой процесс
   4) При помощи NtQueryInformationFile получаешь имя каждого файла
   5) Сравниваешь 1 и 5
   6) Если совпало, значит владелец хендла файла и есть искомый процесс

описание функций должно быть на сайте мелкософта, или у меня есть файл NativeApi.pdf, можешь поискать его.

Вот пример - написано когда-то мной(наспех в эпоху ламеризма - ногами не бить), реализация идеи MS-Rem`a из статьи "3 способа открытия занятого файла" с сайта wasm.ru, советую прочитать. Как получить имя диска я не понял, да и не особо разбирался.
http://ifolder.ru/5316256
Post #: 4
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 21:53:59.303333   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000

quote:

ORIGINAL: Яски Хианто

  1) Запоминаем имя файла
  2) При помгощи функции zwQuerySystemInformation получаешь хендлы всех открытых файлов
  3) DuplicateHandle в свой процесс
  4) При помощи NtQueryInformationFile получаешь имя каждого файла
  5) Сравниваешь 1 и 5
  6) Если совпало, значит владелец хендла файла и есть искомый процесс

[…]

реализация идеи MS-Rem`a из статьи "3 способа открытия занятого файла"


если ты внимательно прочитаешь эту статью, увидешь, что этот способ сдохнет, как только попробует стырить хэндл именованного пайпа
Post #: 5
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 22:35:05.553333   
Яски Хианто

Сообщений: 13
Оценки: 0
Присоединился: 2007-11-24 17:53:43.173333
Обоснуй? перечитывать статью влом, но уверен, что ты не прав.
Post #: 6
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Delphi. Как определить какой программой используеся файл???







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.