首页 > 其他分享 >【UWP】修改清单脱离沙盒运行

【UWP】修改清单脱离沙盒运行

时间:2024-05-03 16:44:23浏览次数:19  
标签:... TrustLevel 权限 UWP uap10 清单 沙盒

总说周知,UWP 是运行在沙盒里面的,所有权限都有严格限制,和沙盒外交互也需要特殊的通道,所以从根本杜绝了 UWP 毒瘤的存在。但是实际上 UWP 只是一个应用模型,本身是没有什么权限管理的,权限管理全靠 App Container 沙盒控制,如果我们脱离了这个沙盒,UWP 就会放飞自我了。那么有没有这种可能呢?

我们打开设置应用,通过任务管理器查看进程,就会发现它并没有 Runtime Broker 存在,这个进程是用来在沙盒间代理的,这说明微软给 UWP 开了一个后门。

 那么我们是不是也有办法脱离沙盒运行呢?Ahmed Walid 在 2023年2月 发表了这样一个帖子

同时他还提交了一个名为 Added a remark about uap10:TrustLevel 的 PR,在这个 PR 中明确提到了如何通过设置 Custom Capability 来修改 UWP 的 TrustLevel

Setting uap10:TrustLevel="mediumIL" while uap10:RuntimeBehavior="windowsApp" requires the Microsoft.coreAppActivation_8wekyb3d8bbwe Custom Capability.

This is also true if uap10:TrustLevel="mediumIL" and EntryPoint is any other value than "windows.fullTrustApplication" or "windows.partialTrustApplication".

You can read more about this custom capability here in Custom Capabilities.

如今这个 PR 已经合并,现在可以直接在微软文档《应用程序 (Windows 10)》中找到了

根据文档描述,我们需要添加一个名为 Microsoft.coreAppActivation_8wekyb3d8bbwe 的自定义权限,然后将 uap10:TrustLevel 设置为 mediumIL 即可

首先我们在清单中加入权限

<?xml version="1.0" encoding="utf-8"?>
<Package
  ...
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="... uap4 rescap">
  ...
  <Capabilities>
    ...
    <!-- runFullTrust 权限是必不可少的 -->
    <rescap:Capability Name="runFullTrust" />
    <uap4:CustomCapability Name="Microsoft.coreAppActivation_8wekyb3d8bbwe" />
  </Capabilities>
</Package>

Custom Capability 不同于其他权限,这是用来给 OEM 自定义使用的,需要 SCCD 文件来证明你有使用权限的资格,所以想上架是基本没可能了,相关内容可以查看教程 [UWP] Custom Capability的使用

我们在项目根目录新建一个名为 CustomCapability.SCCD 的文件,在其中写入

<?xml version="1.0" encoding="utf-8"?>
<CustomCapabilityDescriptor xmlns="http://schemas.microsoft.com/appx/2018/sccd" xmlns:s="http://schemas.microsoft.com/appx/2018/sccd">
  <CustomCapabilities>
    <CustomCapability Name="Microsoft.coreAppActivation_8wekyb3d8bbwe"></CustomCapability>
  </CustomCapabilities>
  <AuthorizedEntities AllowAny="true"/>
  <Catalog>FullTrust</Catalog>
</CustomCapabilityDescriptor>

 然后将该文件设置为内容,或者选择复制到输出,只要最后能出现在安装包里面就行了

最后我们将 uap10:TrustLevel 设置为 mediumIL

<?xml version="1.0" encoding="utf-8"?>
<Package
  ...
  xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
  IgnorableNamespaces="... uap10">
  ...
  <Applications>
    <Application
      ...
      uap10:TrustLevel="mediumIL">
      ...
    </Application>
  </Applications>
  ...
</Package>

 部署时有概率遇到

DEP0700: 应用程序注册失败。[0x80073CF6] 错误 0x80070057: 在准备处理请求时,由于以下错误,系统无法注册 windows.capability 扩展: 参数错误。

暂时没有找到解决方法,重启几次电脑可能就好了

标签:...,TrustLevel,权限,UWP,uap10,清单,沙盒
From: https://www.cnblogs.com/wherewhere/p/18171253

相关文章

  • 2024最全 项目管理 软件清单整理
    项目管理软件在当前商业环境中扮演着重要角色,有助于提高项目交付质量。这些工具可优化规划、执行、监控和协作流程,从而提升生产力、降低成本、实现项目目标。市面上存在多种功能不尽相同的项目管理软件,适用于不同规模团队和项目需求。本文将列举一份全面的项目管理软件清单,旨......
  • 在电脑桌面上制作可视化进度日程待办清单,效率翻倍
    对于使用电脑办公的上班族来说,提升工作效率和保证任务的准时完成是至关重要的。在电脑桌面上制作可视化进度日程待办清单,是实现这一目标的有效方法。因为这样能够让我们一目了然地了解当天及未来的工作任务,从而合理规划时间,确保每个任务都能得到妥善处理。那么我们如何在Windows......
  • iOS 隐私清单和SDK签名
    隐私清单:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEplistPUBLIC"-//Apple//DTDPLIST1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict><!--......
  • Winform程序使用app.minifest清单禁止高DPI无法失效问题
    问题:Winform程序使用app.minifest清单禁止高DPI无法失效问题摘要:因为笔记本基本都会有DPI放大,所以目前程序需要嵌入清单,并将其高DPI支持给禁止掉。环境搭建:Winform、app.minifest由于我的程序是使用CreateProcessAsUser来启动Winform,所以一开始以为是有权限问题。也有在群里跟......
  • 超实用的电脑桌面便签+待办清单app
    对于上班族来说,桌面便签加待办清单软件是提升工作效率的得力助手。想象一下,在繁忙的工作中,你能够快速记录重要事项,设置待办任务提醒,一切都能有条不紊地进行。这种便捷性,尤其在处理多项任务和紧急事务时,显得尤为重要。目前支持界面悬浮在桌面上显示,并且兼具便签记事、待办清单记录......
  • vbs查询局域网内电脑的软件和硬件列表清单
    <p>下面的代码在windows下容易报毒大家可以放心使用</p>'==========================================================================''Date:2009/3/19'Name:查询软件和硬件列表清单'Author:Smileruner'www.overmcse.com......
  • android studio 清单配置文件androidmainfest.xml解读
    1、注册Activity页面,并指定首页。 所有的页面文件要在此文件中注册。指定是APP的首页:(android:exported="true")和下面的intent-filter中的两行,; 2、需要的权限要在此文件中指定;<uses-permissionandroid:name="android.permission.BLUETOOTH_SCAN"/><?xmlver......
  • 自定义Python实用函数-返回指定目录及其子目录和指定文件扩展名的文件清单列表
    importosdefget_files(file_path,image_types_set=()):"""返回指定目录及其子目录下、指定文件扩展名的文件清单列表。若image_types_set参数为空,则返回图片文件清单列表。若image_types_set参数为['.*'],则返回所有文件清单列表。"""filenames......
  • 最高法--招标工程量清单与后续施工图纸中工程量相差甚大,施工人以此为由主张重调整组价
     (2019)最高法民终379号  金义祥、株洲银泰房地产开发有限公司建设工程施工合同纠纷二审民事判决书上诉人主张:(一)一审判决采信以固定总价为基数进行造价鉴定属于认定事实错误。本案应按固定单价方式鉴定,工程款总额为216839234.6元,银泰公司欠东欣公司工程款108377634.6元,东欣公司......
  • 备忘记录-20240404.构建服务的k8s资源清单
    导读记录一次搭建服务的成果框架graphTBC(Client)-->ig(ingress)ig-->np((nginx-php\nservice))ig-->tc((tomcat\nservice))np-->ng1(nginx)np-->ng2(nginx)ng2-..->ps((php\nservice))ng1-..->psps-->p1(PHP)ps-->p2(PHP)ps......