社区
VC.NET
帖子详情
设置DLL搜索路径
liaomingxue
2008-01-10 09:20:16
程序中需要调用很多不同路径下的dll,如果在PATH中设置这些路径,程序当然没有问题。
我现在想在vc2005中调试该程序,希望能不需要设置PATH环境变量就能正确调试,不知道在开发环境中能否配置好搜索路径【经过测试,在“工具-选项-可执行文件”中设置dll的路径,那么调试的时候还是会提示找不到dll】。
...全文
1857
8
打赏
收藏
设置DLL搜索路径
程序中需要调用很多不同路径下的dll,如果在PATH中设置这些路径,程序当然没有问题。 我现在想在vc2005中调试该程序,希望能不需要设置PATH环境变量就能正确调试,不知道在开发环境中能否配置好搜索路径【经过测试,在“工具-选项-可执行文件”中设置dll的路径,那么调试的时候还是会提示找不到dll】。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ecjtuync
2008-10-08
打赏
举报
回复
[Quote=引用 2 楼 akirya 的回复:]
VS2005中工程编译选项 debugging environment,自己设置path
[/Quote]
请问在VS2005中 怎么在 debugging environment设置path , 怎么把这个path变量加上去????
crashbluebird
2008-01-12
打赏
举报
回复
1. copy to system32
2. copy to current dir
liaomingxue
2008-01-11
打赏
举报
回复
(1) 写入注册表有两个问题:一是程序更加复杂;二是不好区分相同dll的不同版本
(2) 直接将所需DLL都拷贝到system32里应该可以吧
问题同上
关键的问题是:我要用到的dll涉及到几十种不同功能,因此一般地要求放在不同路径之下;二是这些dll在我的计算机中有很多不同的版本,有的用来做调试,有的用来做发布,还有的保存着做测试等等。
因此,希望能在开发环境中设置多个路径,用来搜索dll,即类似LIB的搜索路径设置功能。
真相重于对错
2008-01-10
打赏
举报
回复
写入注册表
vecri
2008-01-10
打赏
举报
回复
Visual C++
Windows 用来定位 DLL 的搜索路径
通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll。Windows 然后按下列顺序搜索 DLL:
1. 当前进程的可执行模块所在的目录。
2. 当前目录。
3. Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
4. Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
5. PATH 环境变量中列出的目录。
vecri
2008-01-10
打赏
举报
回复
直接将所需DLL都拷贝到system32里应该可以吧。
珍惜生命远离CPP
2008-01-10
打赏
举报
回复
VS2005中工程编译选项 debugging environment,自己设置path
applethink
2008-01-10
打赏
举报
回复
我觉得自己专门写个类来维护这些路径比较好。
DLL
搜索
路径
和
DLL
劫持 演示源代码
http://blog.csdn.net/magictong/article/details/6931520 本篇文章使用的代码例子。 ……为什么要把
DLL
搜索
路径
(
DLL
ORDER)和
DLL
劫持(
DLL
Hajack)拿到一起讲呢?呵呵,其实没啥深意,仅仅是二者有因果关系而已。可以讲正是因为Windows系统下面
DLL
的
搜索
路径
存在的漏洞才有了后来的一段时间的
DLL
劫持大肆流行。 最近(其实不是最近,哈,是以前分析过,断断续续的……)简单分析了一个
DLL
劫持下载者的行为,感觉有必要写点东西说明一下。其实
DLL
劫持是比较好预防的,从编程规范上我们可以进行规避(后面会专门讲到),从实时防护的角度来讲我们也可以想出一些办法进行拦截。新的
DLL
劫持者基本都是通过当前
路径
来入侵,一些老的
DLL
劫持者一般都是通过exe的安装目录来入侵的,为什么会这样,后面还会讲到。 ……
改变隐式加载
dll
路径
的方法实例代码
通过Set
Dll
Directory可以灵活的
设置
隐式加载
dll
的
路径
,详见源代码.vs2005编译
Windows
DLL
文件的
搜索
路径
动态链接库
dll
文件的加载
路径
顺序
dll
文件的加载
路径
顺序
DLL
劫持 LPK (示例) VC代码
一个劫持LPK.
dll
的示例,没有添加其他功能代码。
api-ms-win-core-path-l1-1-0.
dll
.zip
api-ms-win-core-path-l1-1-0.
dll
VC.NET
7,539
社区成员
27,671
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章