mqchange 2015-04-30 05:20 采纳率: 100%
浏览 2247
已采纳

CreateFile操作驱动器的权限问题

开发环境:win7 64位
开发工具:VS2010
开发背景:AxtiveX插件(DLL项目) 宿主为浏览器

问题描述:
在使用C++代码获取硬盘序列号的时候,使用到了CreateFile函数。主要用到了CreateFile、DeviceIoControl函数。把关键代码提取到一个Win32工程下时:
问题1:生成的exe程序,可以在本机直接双击运行获取到序列号,但是在别的机器就需要使用管理员权限(XP系统除外),是为什么?
问题2:如果是exe程序: 可以设置UAC的执行级别为administrator,或者右键使用管理员权限运行,获取序列号。但是如果要在DLL工程中怎么办? (**现在的目的就是想如何在代码里实现普通用户操作驱动器的问题(不考虑XP)?**)

说明:
尝试使用过 http://bbs.csdn.net/topics/250018148 的解决方案没有解决问题,也尝试在代码里提权(AdjustTokenPrivileges),也没有解决问题。

  • 写回答

5条回答 默认 最新

  • foreach_break 2015-04-30 06:03
    关注
    1. ActiveX技术的优点之一就在于它的分发性好,是下载即使用.
    2. UAC的目的就是为了控制普通用户,防止越权操作,对操作系统或公司集群造成安全风险.
    3. 假设你利用各种手段提权成功,你还需要过杀软.

    所以,思路要变化,为什银行的支付插件、QQ的检测登陆插件都有一个promt(提示)?
    你在这个安全规范的约束内做事,而不是去打破这个规范.

    关于你要实现的问题,如果你是针对集团、公司开发ActiveX,请了解GroupPolicy和AxIs.
    如果你针对个人,那就参考1、2楼.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划