如何对自己建立的dll加密或设定访问权限?

fengfeng2003 2003-11-23 10:49:16
现建立动态链接库a.dll
现在想只有获得许可的用户才能使用此库,最简单的比如设定一个密码

我想是不是在DllEntryPoint函数的DLL_PROCESS_ATTACH判断分支中添加密码验证的程序
但是试验了一下好像不行,请各位大侠指点一下到底该怎么办?
...全文
110 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wingfiring 2003-11-25
  • 打赏
  • 举报
回复
可执行程序EXE文件也可以像DLL一样,引出函数。
你可以要求所有使用myDLL的程序都必须引出特定函数,供myDLL调用。
myDLL中检查相应的调用。

这些我觉得应该可以实现。但是我没有试验过。
fengfeng2003 2003-11-25
  • 打赏
  • 举报
回复
问题是这样的
有两个dll
MyDll.dll 是我的动态链接库
password.dll 存放密码

我想发布MyDll.dll,并在其中检验用户是不是得到授权
我想应该在dll被加载的时候检验,在DllEntryPoint函数里吧,但具体不知道该怎么做
program2100 2003-11-25
  • 打赏
  • 举报
回复
将密码和DLL分开,在DLL或主程序中校验都可以,一个月换一个密码。
fengfeng2003 2003-11-24
  • 打赏
  • 举报
回复
验证函数放在DllEntryPoint的哪个分支呢?
放在DLL_PROCESS_ATTACH?我试了一下,好像不行
fengfeng2003 2003-11-24
  • 打赏
  • 举报
回复
up
fengfeng2003 2003-11-24
  • 打赏
  • 举报
回复
UP
fengfeng2003 2003-11-23
  • 打赏
  • 举报
回复
每个函数都加上,是不是太麻烦了一点儿
fwm1981 2003-11-23
  • 打赏
  • 举报
回复
你可以这样尝试一下(我没做过,但觉得理论上是行得通的):
在dll里面设一个CString psw的全局变量,初始值设为你的密码,
在dll的每个函数的参数里面增加一个CString str变量,
在函数开始的地方加上:
if(strcmp(psw,str)!=0) return;
wingfiring 2003-11-23
  • 打赏
  • 举报
回复
第二个办法,在主程序中export出一个特定的函数,然后在在动态链接库中调用这个函数。通过各种in/out类型的参数来互相验证。
wingfiring 2003-11-23
  • 打赏
  • 举报
回复
主程序中设置一个总所周知的资源,例如字符串,约定好名字。然后在DllEntryPoint中检查这个资源是否合法。
98440622 2003-11-23
  • 打赏
  • 举报
回复
没考虑过~~~~~~~~
fengfeng2003 2003-11-23
  • 打赏
  • 举报
回复
关键是密码验证的函数放在什么地方
psbeond 2003-11-23
  • 打赏
  • 举报
回复
那你可以写一个验证密码的函数,通过后就可以执行别的函数(由全局bool变量标识)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧