网站首页 > 博客文章 正文
关于 Window 的 UWP 应用本地回环限制以及限制解除方案
Table of Contents
- 1. UWP 应用默认禁止本地回环
- 2. 官方限制解除工具 CheckNetIsolation.exe
- 3. 如何获取所有安装应用的 SID
- 4. 其他便捷工具以及深层次分析
1. UWP 应用默认禁止本地回环
UWP 应用在默认的情况下,禁止访问本地的 Localhost(这被称做本地回环 Loopback)。
然而我们在开发、调试、正向代理等场景下,又不得不让 UWP 突破这一个限制。
2. 官方限制解除工具CheckNetIsolation.exe
这个工具位于 C:/Windows/System32/CheckNetIsolation.exe,它的功能为解除 UWP 的本地 Loopback 限制或者调试应用(本文仅介绍解除 Loopback 限制)。
./CheckNetIsolation.exe LoopbackExempt [operation] [-n=] [-p=]
常见用法:
- -s: 查看已经取得 Loopback 豁免的应用列表
- -a -p=[App Container SID] or -a -n=[App Container Name]: 添加应用豁免
- -d -p=[App Container SID] or -d -n=[App Container Name]: 移除应用豁免
- -c: 移除所有安装的应用的豁免
3. 如何获取所有安装应用的 SID
在注册表目录 HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings 即可取得所有 App 的 SID 列表。
通过结合 CMD 或者 Pwsh 的循环命令,即可自动化为所有已安装应用添加豁免:
CMD 命令:
FOR /F "tokens=11 delims=" %p IN ('REG QUERY "HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings"') DO CheckNetIsolation.exe LoopbackExempt -a -p=%p
Powershell 命令:
Get-ChildItem -Path Registry::"HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings" -name | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -p="$_"}
New Powershell Core:
(Get-AppxPackage -AllUsers).PackageFamilyName | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -n="$_"}
4. 其他便捷工具以及深层次分析
来自 Fiddler 的 Enable Loopback Utility 或开源项目 Loopback Exemption Manager 的这两个工具提供了很方便的图形化方式来对安装的 UWP 应用进行 Loopback 豁免。
深入研究后者工具以及类似工具的源代码,并参考作者提到的:
我们可以知道,开源工具的作者从 Fiddler 那里借鉴了 P/Invokes 的方式获取 API,而所 Invoke 的 API 主要来自于 FirewallAPI.dll,这个 dll 提供了很多与 UWP Loopback 豁免相关的实用方法。
我们继续使用 VS2022 的 Dev Shell 对官方的 CheckNetIsolation.exe 进行 dll 依赖分析(需要安装 VS 2022):
到这里我们便可以得知,无论是官方工具还是第三方工具的实现,都是调用 FirewallAPI.dll 提供的 API 来进行 Loopback 豁免的。
文章来自互联网,不代表电脑知识网立场。发布者:葱葱酱向前冲,转转请注明出处:https://www.pcxun.com/n/160943.html
猜你喜欢
- 2024-09-08 就问你酷不酷 定制自己的动态壁纸
- 2024-09-08 Jmeter关联组件--正则表达式提取器详解
- 2024-09-08 电脑开机提示函数不正确,解决方法
- 2024-09-08 任务栏卡死解决办法 任务栏卡死重启还是一样的处理方法
- 2024-09-08 一条命令解决windows10设置搜索不了教程
- 2024-09-08 PowerShell一次性替换多个文件的名称
- 2024-09-08 win10网络图标丢失,怎么解决(win10网络图标丢失,怎么解决问题)
- 2024-09-08 win10怎么快速重装所有应用程序(window10如何重装)
- 2024-09-08 win10任务栏无反应怎么办(won10任务栏均无反应)
- 2024-09-08 Linux 下你所不知道的 7 个 SSH 命令用法
你 发表评论:
欢迎- 07-07Xiaomi Enters SUV Market with YU7 Launch, Targeting Tesla with Bold Pricing and High-Tech Features
- 07-07Black Sesame Maps Expansion Into Robotics With New Edge AI Strategy
- 07-07Wuhan's 'Black Tech' Powers China's Cross-Border Push with Niche Electronics and Scientific Firepower
- 07-07Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- 07-07IT运维必会的30个工具(it运维工具软件)
- 07-07开源项目有你需要的吗?(开源项目什么意思)
- 07-07自动化测试早就跑起来了,为什么测试管理还像在走路?
- 07-07Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
- 最近发表
-
- Xiaomi Enters SUV Market with YU7 Launch, Targeting Tesla with Bold Pricing and High-Tech Features
- Black Sesame Maps Expansion Into Robotics With New Edge AI Strategy
- Wuhan's 'Black Tech' Powers China's Cross-Border Push with Niche Electronics and Scientific Firepower
- Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- IT运维必会的30个工具(it运维工具软件)
- 开源项目有你需要的吗?(开源项目什么意思)
- 自动化测试早就跑起来了,为什么测试管理还像在走路?
- Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
- Cursor 太贵?这套「Cline+OpenRouter+Deepseek+Trae」组合拳更香
- 为什么没人真的用好RAG,坑都在哪里? 谈谈RAG技术架构的演进方向
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)