Подключитесь к Windows File Copy API из C ++ - PullRequest
3 голосов
/ 20 ноября 2011

Мне нужно перехватить copyfile, чтобы остановить процесс при копировании вредоносного файла. Я видел вопрос, заданный Cat Man Do

Подключитесь к API копирования файлов Windows из C #

и он упомянул, что есть решение этой проблемы в c ++. Я использую Embarcadero C ++ Builder (не MFC). Применимо ли это решение к сборщику c ++ и, если оно есть, кто-нибудь может опубликовать ссылку или дать подсказку о том, как перехватить copyfile в c ++?

Ответы [ 2 ]

4 голосов
/ 20 ноября 2011

Вы не знаете, что вы подразумеваете под «остановить процесс» - существует ли интересующий вас конкретный процесс или вы хотите заблокировать все копии файлов во всей системе. Если вы хотите заблокировать все копии файлов в системе, то вам нужен драйвер фильтра файловой системы . Это чрезвычайно продвинутое, так как вы будете писать драйвер режима ядра. Не для слабонервных . Также обратите внимание, что вы можете оказаться помеченными как вредоносные программы самостоятельно, поскольку вредоносные программы будут пытаться перехватить файловую систему, чтобы скрыть себя.

2 голосов
/ 21 ноября 2011

Я рекомендую использовать Deviare API hook , чтобы сделать это.Вы можете использовать его COM-объекты для перехвата API-интерфейсов CopyFile и CopyFileEx и предотвращения вызова, возвращающего ACCESS DENIED в последней ошибке.

...