winword进程打开一个文件要执行另存为操作,如果文件要保存到另一个目录,我想拒绝另存为操作。我想通过api hook使用C++,怎么办?< /p>
问问题
59 次
1 回答
0
这取决于,如果你想挂钩一个外部进程,你需要首先进入这个进程的地址空间,例如(dll 注入)。然后,您需要准确地知道该进程使用哪个 API 函数来执行诸如保存文件之类的任务,以便能够挂钩正确的文件。完成所有这些步骤后,我建议使用detours来挂钩 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);
于 2018-09-05T09:31:36.087 回答