Зависит от того, что если вы хотите подключить внешний процесс, вам нужно сначала войти в адресное пространство этого процесса, например ( dll инъекция ). Затем вам нужно точно знать, какую функцию API использует этот процесс для выполнения такой задачи, как сохранение файла, чтобы иметь возможность перехватить правильный файл.
После всех этих шагов, я предлагаю использовать обход для перехвата функций API. например:
typedef void savefunc_t(const char *fn); // api function prototype
savefunc_t *original_savefunc;
void savefunc_hook(const char *fn)
{
if(strstr(fn, "dir")) // check path and deny if otherwise execute original func
return;
original_savefunc(fn);
}
DetourFunction(DesiredFunctionPointer, savefunc_hook);