如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

mt.exe是微软官方出品的SDK开发工具包里面的一个软件,我们可以使用它对现有的exe进行改造。本文中,苏南大叔将要利用mt.exe修改exe中的manifest.xml文件,进而达到如下目的:在打开exe软件的时候,主动请求管理员权限。

利用electron技术制作的exe程序,也适用于上述规则。当然,其他exe也是可以利用mt.exe的办法进行改造的,并不局限于electron技术的exe。本文中的实验对象是electron官方的quick-start项目。

如何获得mt.exe

mt.exe是微软官方出品的,安全可靠。mt.exe依附于Microsoft Windows Software Development Kit (SDK)之中,此sdk可以通过安装visualstudio获得。苏南大叔是通过安装vs2015获得这个sdk的,vs2015的可选功能里面,我们找到通用windows开发工具中的Windows10SDK(10.0.10586),然后安装即可。

当然,如果您的系统不是win10,那么可能会是其他的名字。比如windows8.1sdk。这个安装途径请根据您的实际情况确定即可。

如何利用mt.exe改造electron程序,主动申请管理员权限 - vs2015安装sdk

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-1)

如何利用mt.exe改造electron程序,主动申请管理员权限 - vs2015_安装sdk过程中

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-2)

安装的过程很漫长,苏南大叔等了大概半个小时左右,终于安装好了。

在系统路径C:\Program Files (x86)\Windows Kits\10\下,我们找到了安装好的SDK文件。在本次实验中,所需要的mt.exe则位于bin/x64/目录下面。

如何利用mt.exe改造electron程序,主动申请管理员权限 - mtexe的位置

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-3)

把mt.exe加入到系统变量path

因为mt.exe是在命令行下使用的,所以,为了更加方便快捷的使用这个程序。我们把上述路径加入到系统path之中,这样就可以在命令行的任意目录下面使用mt.exe了。当然,这一步,您也可以不做。使用mt.exe的长目录路径也是可以的。

如何利用mt.exe改造electron程序,主动申请管理员权限 - sdk10_mt_path

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-4)

下面是增加系统路径前后的对比效果图:

如何利用mt.exe改造electron程序,主动申请管理员权限 - sdk10_mt

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-5)

如何利用mt.exe改造electron程序,主动申请管理员权限 - sdk10_mt_path_ok

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-6)

导出现有的manifest.xml

我们期待值是在现有的exe配置文件的基础上进行更改,所以,需要导出现有的exe配置文件manifest.xml

  • 并不是所有的exe都有这个配置文件的。所以,对于本操作来说,您可能得不到想要的文件,这是很正常的情况。
  • 对于利用electron技术生成的exe来说,这个manifest.xml文件是一定存在的。

那么我们的实验目的就是electron官方quick-start项目生成的exe主文件了。如何生成这个exe,并不是本文中需要讲述的主要内容,大家有需要的话,可以参见文末的相关链接。现在假设,我们已经拿到了目标exe文件。

如何利用mt.exe改造electron程序,主动申请管理员权限 - electron-quick-start-exe

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-7)

在命令行下执行下面的类似的命令,即可得到manifest.xml文件。注意替换<your_exe_name>字样,否则会命令执行失败的。

mt -inputresource:<your_exe_name>.exe;#1 -out:manifest.xml

这个命令有些奇怪,#1字样要保持不变。

如何利用mt.exe改造electron程序,主动申请管理员权限 - mt-command

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-8)

如何利用mt.exe改造electron程序,主动申请管理员权限 - 获得xml文件

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-9)

修改manifest.xml文件

manifest.xml文件是类似下面的内容的,对于exe本身不存在manifest.xml的文件,您也可以自己准备个类似下面内容的xml文档,或者您去别的exe里面去提取一个也蛮容易的。

如何利用mt.exe改造electron程序,主动申请管理员权限 - xml_content

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-10)

苏南大叔提示您:需要注意requestedExecutionLevel节点中的内容,要修改asInvokerrequireAdministrator字样。

<requestedExecutionLevel uiAccess="false" level="asInvoker"/>

变成

<requestedExecutionLevel uiAccess="false" level="requireAdministrator"/>

导入修改后的manifest.xml文件

苏南大叔把manifest.xml文件修改保存之后,就需要再次操作导入我们的修改结果了。这次还是继续使用mt.exe来做这件事情,命令行如下,注意替换<your_exe_name>字样。

mt -manifest manifest.xml -outputresource:<your_exe_name>.exe;1

如何利用mt.exe改造electron程序,主动申请管理员权限 - xml合并后的结果

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-11)

通过对比,我们可以发现,修改后的exe图标也随着发生了变化,增加了个盾牌的角标。点击这个新的exe之后,就可以看到期待的效果了。

如何利用mt.exe改造electron程序,主动申请管理员权限 - 最终效果

如何利用mt.exe改造electron程序,主动申请管理员权限(图12-12)

因为这个最终效果截图实在不好截取,所以最终苏南大叔用手机拍照之后得到了上面的这个图,所以质量上有些折扣,sorry。

相关链接

结论

冥冥之中,很多事情都是相通的。碰到的事情似乎还会再次发生,这是为什么呢?

更多electron相关资讯,敬请关注苏南大叔的原创经验文章。https://newsn.net/tag/electron/

  【electron】秘籍文章入口,仅传授于有缘之人  electron    manifest

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/electron-admin-mt.html
上一篇好文:如何使用navicat导出数据集合为xls文件
下一篇好文:window环境,如何安装git客户端

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~