易语言等软件自动获取管理员权限,在64位Windows7系统非管理员帐户中执行

昨天有易语言开发者向我求助,说他用易语言编译的32位程序软件,发布给64位操作系统Win 7用户使用,因为该用户确定没有管理员权限,而程序启动时又要求必须输入管理员密码,如此陷入困境。 目标企业用户管理严格,要求为普通用户分配管理员权限是不切实际的,只能开发人员从软件开发的角度在技术上解决。

我听到这个问题后,第一感觉是微软用户帐户控制(UAC)引发的,估计通过给 exe 添加特定的 manifest 资源应该可以解决。于是我给了他一段代码,让他用 ResHacker 之类的软件添加到软件里面去,试一试能不能解决问题:

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  3. <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  4. <security>
  5. <requestedPrivileges>
  6. <requestedExecutionLevel level="asInvoker" uiAccess="false" />
  7. </requestedPrivileges>
  8. </security>
  9. </trustInfo>
  10. </assembly>

结果测试之后他发现,非常成功的解决了问题。修改后的软件发布给用户测试,启动时也不再提示输入管理员密码了,功能一切正常。

下面对比一下易语言编译时默认加入的 manifest 资源:

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  3. <assemblyIdentity
  4. version="1.0.0.0"
  5. processorArchitecture="X86"
  6. name="......"
  7. type="win32"
  8. />
  9. <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  10. <security>
  11. <requestedPrivileges>
  12. <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
  13. </requestedPrivileges>
  14. </security>
  15. </trustInfo>
  16. </assembly>

会发现两者有细微的区别:asInvoker 和 requireAdministrator 的区别。后者会要求软件启动时必须有管理员权限,否则拒绝工作。那能不能一刀切的要求易语言默认采用 asInvoker 呢?恐怕还是不行的,因为修改Windows注册表之类的行为还是必须得有管理员权限的(否则修改无效)。或许在某些条件下可以做一些智能判断?

附 ResHacker (Resource Hacker) 3.6 下载地址

http://www.angusj.com/resourcehacker/

http://www.crsky.com/soft/1747.html

http://dl.pconline.com.cn/html_2/1/59/id=842&pn=0.html

时间: 2024-10-13 14:42:22

易语言等软件自动获取管理员权限,在64位Windows7系统非管理员帐户中执行的相关文章

易语言开发人工智能自动写文章软件!逆天了

我们今天要给大家分享一款可以自动写原创文章的软件,是我自己开发的,开发原理其实很简单,对接了网上某人工智能平台的API,实现了自动写文章的功能! 软件使用的文章渲染算法也是基于:乔姆斯基转换-生成语法进行生成的,效果还是不错!通过这个软件,你每天生成上万篇文章应该是不在话下,而且是原创的哦!软件的实现功能用的是易语言!我们先来抓包吧!数据我们已经抓包了,下面做的就是把数据封包到易语言子程序里面!我们已经把抓包到的数据已经封装到了易语言的子程序里面,然后通过"调试输出"成功返回正确的AP

修改原官方易语言模板增加自动登录功能【附模板下载】

原文:http://bbs.84zcb.com/showtopic-3004.aspx 这个功能很方便,这样只要第一次登录之后后面用户就不用重复再输入账号密码点击登录了 简单的功能,代码也放出来了,大家自己去研究吧 用模块写的,并非官方例子修改,模块在在稍后发布,欢迎关注 模板下载:http://pan.baidu.com/s/1bnGVHZD 随时关注注册宝网络验证:http://www.84zcb.com/,更多教程待续

Enterprise Solution 进销存管理软件 C/S架构,支持64位系统 物流,资金流,信息流全面集成

      定位  Target Customers 中小型生产制造企业,批发零售类,贸易企业 主要模块 Modules 采购.销售.库存.财务账款四大模块,包含企业运作过程中销售.采购.库存各岗位需要的全部功能,实现了部门间数据共享和企业信息一体化业务处理. 模块 主要功能 采购 申购单,采购订单,采购收货,采购验货,采购退货 销售 报价单,销售订单,送货,销售退货,销售包装 仓库 进仓,出仓,转仓,仓库调整,仓库盘点,库存分析与统计 财务 客户应收帐,供应商应付帐,借项通知书,贷项通知单,记

Enterprise Solution 企业资源计划管理软件 C/S架构,支持64位系统,企业全面应用集成,制造业信息化

Enterprise Solution是一套完整的企业资源计划系统,功能符合众多制造业客户要求.系统以.NET Framework技术作为开发架构,完善的功能可有效地帮助企业进行运营策划,减低成本,如期交付产品,使客户对企业的运作完全在运筹帷幄之中. 主要模块 Modules Enterprise Solution 主要包含以下7大主要模块: 模块 主要功能 销售 Sales 报价,销售订单,送货,退货,客户发票,销售包装 采购 Purchasing 采购申请,采购订单,采购收货,退货,验货,供

一种脱离VC编程软件的方法学习C/C++编程(搭建EditPlus实现在文本编辑框中执行.c文件

网上下载一个EditPlus记事本安装好后就可以按照下面步骤进行搭建环境了: 一.工具(Tools)→配置用户工具(Configure UserTools...),[添加工具](Add Tool>>)→[应用程序](Program)1.[菜单文字](Menu text)随意书写(此处写“编译”):2.[命令](Command)代表要执行的程序,写gcc.exe可执行文件全路径(F:gccbingcc.exe): 3.[参数](Argument)是传递给gcc的命令行参数“$(FileName)

windows下非管理员权限安装mysql

windows下,mysql有两种安装方式: 1.msi安装 2.zip安装 无论是哪种安装方式,都因为需要将mysql安装为一个服务,所以必须要以管理员权限安装. 因为公司的换了虚拟机,无法取得管理员权限.所以一直在寻找非管理员权限的mysql安装方法. 我们采用第二种,zip安装,不需要将mysql安装为服务,即 mysqld install 这样就避过了管理员密码,采用 mysqld --console 的方式即可,只是每次使用的时候都需要这样打开,不方便一点(没法,万恶的虚拟机..).

在域中获取域管理员权限的多种方法及一些缓解措施

翻译:hac425 前言 现在攻击者有很多方法可以用来获取域管理员权限.这篇文章的目的是介绍一些当前较受欢迎的方式.这里所介绍的技术的基本点是攻击者已经拿到了一台域中的服务器,并已获得域用户凭据. 对大多数企业来说有一个不幸的现实:对于一个攻击者来说,从域用户权限提升到域管理员权限往往不需要太长的时间.为什么会这样呢?本文会介绍其中使用的一些技巧. 现在针对一个企业,组织的攻击越来越频繁通过一些钓鱼手法来开始.比如通过发送大量的钓鱼邮件给目标的成员来在目标网络的机器上执行代码.一旦攻击者能够在企

[快手(AAuto)学习笔记]如何让程序在运行时请求管理员权限(UAC)

作者:ffsystem 作为(糟糕的)程序猿,习惯写代码解决一些简单事务.正常用批处理就能解决大部分工作,复杂一点用AutoIt 3. 有时候要分发给别人,就需要一个界面.外行你程序写得如何他看不懂,也不想搞懂.他只看你界面是否花哨,来判断你行不行.没办法只是个看脸的时代,只好给程序整整容. 但是简单的事情,上VS.用.net:或者用java就太无趣了,而且那玩意整好看一点也麻烦. AutoIt3很好用,但界面,但比较传统,找到一个国产的程序,快手AAuto,好像既轻量级.又能html给程序整容

Debian普通用户获取root权限|sudo的安装与配置

Debian系统的普通用户需要安装软件时,往往会收到“Permission denied”的提示,这时候需要root权限.那么如何在不登陆超级管理员账户的前提下拥有root权限呢?对于大多数Linux系统来说,我们可以通过“sudo”命令来获取root权限,或者通过“su”登陆超级管理员账户来进行各种需要root权限的操作. 然而,Debian系统好像默认不安装sudo,所以下面将讲解“如何安装sudo及配置其sudoers文件” 首先登陆超级管理员账户,在 Terminal 命令行内输入 su