相关疑难解决方法(0)

从托管代码中调用Hook LoadLibrary

我们想挂钩调用LoadLibrary以下载未找到的程序集.我们有一个处理托管程序集的ResolveAssembly处理程序,但我们还需要处理非托管程序集.

我们尝试通过"编写Microsoft Windows编程应用程序"中指定的技术重写import表来挂钩LoadLibrary调用,但是当我们调用WriteProcessMemory()时,我们得到一个权限被拒绝错误(998).(是的,我们正在使用提升的私人运行)

在加载CLR时是否有人成功重写了import表?谁能指出我正确的方向?

更新:我们解决了权限被拒绝的问题,但现在当我们迭代混合程序集的Imports表(托管+非托管)时,我们找到的唯一条目是mscoree.dll.有谁知道如何找到原生进口?(我们在C++/CLI中工作).

.net c++ loadlibrary

4
推荐指数
2
解决办法
3582
查看次数

使用清单在LoadLibrary中搜索Windows路径

如果您在LoadLibrary没有路径的情况下呼叫(例如,LoadLibrary("whatever.dll")Windows通常会遵循其标准搜索算法,那么它将用于查找EXE.

我的问题是:假设应用程序清单指定指定系统DLL的特定版本,例如comctl32.dll 6.0.在这种情况下,将LoadLibrary("comctl32.dll")立即转到正确的并排文件夹,还是仍然执行某种搜索?

windows dll manifest side-by-side loadlibrary

3
推荐指数
1
解决办法
5613
查看次数

标签 统计

loadlibrary ×2

.net ×1

c++ ×1

dll ×1

manifest ×1

side-by-side ×1

windows ×1