在Windows上重定向打开的syscall资源

时间:2011-11-03 19:13:01

标签: windows winapi system-calls

首先让我解释一下我的情况:

我有一个旧的应用程序,没有任何改变它的可能性。此应用程序适用于sqlite表,其中一个是“临时”数据库,但不在内存中创建临时表,而是使用普通表。

我在终端服务器中安装此应用程序,问题是应用程序尝试从临时表中读取静态路径。

我需要将“open syscall”重定向到另一个文件,所以我想知道我是否可以使用某些软件或通过编程来实现。

2 个答案:

答案 0 :(得分:1)

按“优先顺序”排列的几个选项:

  1. 创建junction。单击链接以获取执行此操作的工具。

  2. 如果可能,请使用shim

  3. 如果以上情况不可行,那么您可以使用Madshi的madCodeHook lib来拦截(*)调用。有人over here有类似的问题,那里的讨论也适用于你的情况。

    使用API​​挂钩时要小心,并且总是问自己如果两个程序同时执行它会发生什么。这可能会导致系统不稳定,等等。

    (*)您还需要确定实际需要挂钩的电话。

答案 1 :(得分:0)

您应该可以使用junction point执行此操作。