@Shiraira2 年前

03/25
17:44
技术杂谈

阻止双系统下SteamDeck自动将Windows Boot Manager设为默认启动项

2024年6月21日更新:此方法已失效


主要原理

  1. Steamdeck的UEFI在检测到文件 \EFI\Microsoft\Boot\bootmgfw.efi 存在,就会自动创建 Windows 启动管理器(Windows Boot Manager) 启动项并且将其强制设置为首位(原因未知)
  2. 自动创建的启动项可以被隐藏,但不能被删除或是排序
  3. 但如果隐藏了该启动项,Windows将没有入口来启动,所以需要采取一些曲线救国的方法
  4. 因为 Windows 的 bootmgfw.efi 有一个特性,即bootmgfw可以被更名为其他名称,并且放到 \EFI\Boot 文件夹下(正常安装的Windows, EFI\Boot\bootx64.efi 与 bootmgfw.efi 为同一文件;暂未验证放到 \EFI\Boot 以外的文件夹下能否正常启动)参考资料:关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解

有以上要条件,可以得知要解决这些问题,就要将BCD中的 Windows Boot Manager 的 Appliocation Path 修改到其他文件夹,这样SteamDeck的UEFI就不会再进行这种令人头疼的自动化操作

操作方法

  1. 使用DiskGenius等工具
    将\EFI\Microsoft\Boot\bootmgfw.efi复制并改名为bootx64win.efi,放在\EFI\Boot\目录下

  2. 使用管理员权限运行CMD
    执行bcdedit /set {bootmgr} path \EFI\Boot\bootx64win.efi

  3. 打开 DiskGenius 工具-设置UEFI启动项
    此时应该能够看到一条或多条名为 Windows Boot Manager 的启动项,最上面的一条的启动文件应该为\EFI\Microsoft\Boot\bootmgfw.efi,并修改这一条启动项的属性

    取消勾选有效并勾选隐藏
    有效 ☑️隐藏

    点击保存当前启动项设置,然后让它留在第一位,不要再去修改它的内容或是顺序
    然后新建一条启动项,文件选择 \EFI\Boot\bootx64win.efi,同样名为 Windows Boot Manager,设备类型、启动磁盘、启动分区都应与第一条保持相同,属性勾选有效,保存即可

  4. 这时你可以自由排序除第一条修改 Windows Boot Manager 以外的所有启动项,完成后重启,查看效果

阻止双系统下SteamDeck自动将Windows Boot Manager设为默认启动项

@Shiraira2 年前

01/9
23:30
技术杂谈

Steam Deck运行一些汉化游戏时汉化无效的解决方法(BepInEx失效)

今天在尝试使用Steam Deck运行一个汉化的游戏时,遇到了汉化失效的情况
查看文件结构,汉化依赖BepInEx插件,疑似是挂载的DLL没有正确加载
查询Reddit后,确认需要增加启动参数WINEDLLOVERRIDES来正确加载BepInEx的DLL
WINEDLLOVERRIDES="winhttp.dll=n,b" %command%
即可正确加载

Steam Deck运行一些汉化游戏时汉化无效的解决方法(BepInEx失效)

@Shiraira2 年前

11/7
22:12
技术杂谈

V2ray进阶MITM用法配置分析

前言

今天在查看TLS in TLS相关问题的分析时,偶然看到这篇文章:V2Ray的进阶用法(2): MITM
其中对自己进行MITM攻击的做法,使得与Client端与Server端的加密流量中只存在HTTP数据,从而完全避免了TLS in TLS特征,虽然实用性不高,但想法十分奇特,且配置较为复杂。
虽然不打算实际使用,但可以利用这个机会,理解V2ray的工作原理和配置原理。

Read More →

V2ray进阶MITM用法配置分析

@Shiraira2 年前

10/29
15:49
技术杂谈

Sandboxie数据防护沙盒正常调用宿主机浏览器打开URL

原理

首先要让沙盒内程序可以访问宿主机文件关联有关的注册表信息,明白使用哪个浏览器打开超链接
其次要让浏览器能够自动在宿主机上运行,而不是在沙盒内运行

缺陷

Firefox需要先手动打开浏览器,由沙盒内程序调用启动会导致浏览器工作不正常,但是平常浏览器都是开着的,影响不大。Chrome未发现此情况。
在上述,Firefox不正常启动的情况,有概率导致Firefox生成大量进程,占满CPU,需要手动在任务管理器中结束所有Firefox进程或者重启

操作

  1. 首先在程序控制-分离程序里添加Firefox的安装位置,以我电脑上为例:C:\Program Files\Mozilla Firefox
    如果其他浏览器可以类推
  2. 资源访问-注册表里增加
仅沙盒内(只写)        HKEY_CURRENT_USER\software\Microsoft\Windows\Shell\
只读                  HKEY_CURRENT_USER\software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\
只读                  HKEY_CURRENT_USER\software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\

Sandboxie数据防护沙盒正常调用宿主机浏览器打开URL

@Shiraira2 年前

10/29
01:41
技术杂谈

Sandboxie Plus增强型隐私隔离沙箱入沙TIM记录

起因

之前隔离TIM一直使用的是VMware+RemoteAPP方案,但不知道是因为虚拟化后图形性能太差还是其他原因,RemoteAPP运行的TIM经常会短暂卡死,故开始重新考虑Sandboxie方案。
曾经我就使用过Sandboxie方案,但是当时Sandboxie只能阻止应用修改系统,系统上所有的文件对于沙箱内的应用仍然是可读的,如果使用资源访问控制功能,只能进行全有或全无式的权限控制,条目的匹配优先级也不明确。并且没有(似乎?记不太清了)只写权限选项。
最近发现Sandboxie Plus提供了隐私隔离沙箱,可以解决上方的大部分问题,遂决定重新尝试

已知缺陷

无法防止沙箱内程序对整个屏幕进行截图

Read More →

Sandboxie Plus增强型隐私隔离沙箱入沙TIM记录

@Shiraira3 年前

04/16
22:53
技术杂谈

检测DNS服务器所使用的后端地址与ECS启用情况

获取本机IP

Google:

dig o-o.myaddr.l.google.com txt @ns1.google.com +short
nslookup -type=txt o-o.myaddr.l.google.com ns1.google.com

“10.11.12.13”

OpenDNS:

dig myip.opendns.com @resolver1.opendns.com +short
nslookup myip.opendns.com resolver1.opendns.com

10.11.12.13

Akamai:

dig whoami.akamai.net. @ns1-1.akamaitech.net. +short
nslookup whoami.akamai.net. ns1-1.akamaitech.net.

10.11.12.13

获取DNS后端递归服务器IP

Google:

dig o-o.myaddr.l.google.com txt @119.29.29.29 +short
nslookup -type=txt o-o.myaddr.l.google.com 119.29.29.29

“101.91.43.57”

OpenDNS:

dig myip.opendns.com @119.29.29.29 +short
nslookup myip.opendns.com 119.29.29.29

101.91.43.57

Akamai:

dig whoami.akamai.net. @119.29.29.29 +short
nslookup whoami.akamai.net. 119.29.29.29

101.91.43.57

获取当前DNS服务器传递给权威DNS的ECS Subnet信息

dig o-o.myaddr.l.google.com txt @8.8.8.8 +short
nslookup -type=txt o-o.myaddr.l.google.com 8.8.8.8

“198.51.100.1”
“edns0-client-subnet 203.0.113.0/24”

检测DNS服务器所使用的后端地址与ECS启用情况

@Shiraira3 年前

03/7
22:16
技术杂谈

新版Insyde H2O更改BIOS LOGO的思路

前提

如果能用H2OEZE直接更改LOGO可以不看,一些新版的BIOS使用H2OEZE会闪退,可以参考我的这个方法

需要的工具

  1. FPTW64
  2. H2OEZE
  3. UEFITool
  4. 图片编辑软件(我用的Photoshop)

思路

先用FPTW64把BIOS备份出来

FPTW64.exe -bios -d backup.fd

然后拿H2OEZE打开备份出来的固件
H2OEZE虽然会闪退,但是会显示LOGO的GUID,拿着LOGO的GUID去UEFITool里面搜索,直接Replace Body就行了

注意

实际操作的时候我发现Photoshop 2022导出的jpg无法被BIOS识别,使用储存副本功能来导出可以被识别到的JPG格式

新版Insyde H2O更改BIOS LOGO的思路

@Shiraira3 年前

09/26
11:51
技术杂谈

记录Debian10升级Debian11

  1. 不管做什么,照例先来一遍 apt update &&apt upgrade 然后重启

  2. 启动nano编辑器,执行文本替换(具体操作可以参考 How to upgrade Debian 10 to Debian 11 Bullseye using the CLI 中的Step 3)
    nano /etc/apt/sources.list

    首先将所有 buster/updates 替换为 bullseye-security,然后将所有 buster 替换为 bullseye

  3. 再次执行apt update

  4. 如果你想要避免升级过程中误删有用的软件包,你需要使用apt upgrade --without-new-pkgs

  5. 最后使用 apt full-upgrade 升级系统

  6. 一切完成后,使用 systemctl reboot 重启系统

可选步骤

升级完成后,你可以使用 apt --purge autoremove 来清理不使用的软件包,但是请务必仔细检查这些即将被删除的软件包,否则可能会破坏系统

遇到的坑

升级完成后MariaDB无故消失,PHP的Mysqli与Xml插件无故消失
PHP配置文件需要手动从老版本迁移至新版本
Httpd服务器需要手动重新配置PHP socks路径

记录Debian10升级Debian11

@Shiraira3 年前

08/21
22:11
SFM 技术杂谈

L4D2模型导入SFM的几个问题

  1. 脖子伸长的问题通过改变anime与sequence进行调整,个人通常删光其他的只留一个reference,例如$sequence “reference” “special_week_anims\reference.smd”{
    fps 1
    }
  2. 需要手动Decompile后修改QC中的文件名,修改路径,并且给模型重命名以方便辨识
    例如 survivors/survivor_coach.mdl 修改为 mcqee/mcqee.mdl

L4D2模型导入SFM的几个问题