340746
V2EX  ›  问与答

c#如何使用 winring0.sys 读写 EC 嵌入式控制器

  •  
  •   340746 · Jul 27, 2025 · 1231 views
    This topic created in 318 days ago, the information mentioned may be changed or developed.

    根据帖子 https://www.v2ex.com/t/1129641 里的思路打算写一个开机自动写入 ec 的程序
    具体思路是用 yaml 配置好循环周期,地址和对应的值,开机静默运行,每隔一个循环周期自动写入一次
    用已经签名的 WinRing0 驱动,解决 RWEverything 需要关“内核完整性”的问题
    但是写代码时遇到了问题,用相同驱动的 https://github.com/hirschmann/nbfc 这个项目实测可以写入和读取 EC ,但是我照着源码和读写 EC 的标准流程写的程序就不行,写入和读取都没报错,但是后读取和先写入的值就是对不上。 代码放在 https://github.com/4evergr8/HonorPCManagerisJ8 谢谢大家

    3 replies    2025-07-27 15:46:58 +08:00
    ysc3839
        1
    ysc3839  
       Jul 27, 2025 via Android
    那个帖子是错误思路,逆向用的工具也全是不合适的。
    正确思路还是尝试按照电脑管家里面的逻辑去操作,驱动复用厂商提供的驱动。这么做的话驱动方面不需要浪费时间解决签名问题,且理论上也是比较稳的。
    340746
        2
    340746  
    OP
       Jul 27, 2025 via Android
    @ysc3839 我试着逆向过厂商的驱动,有很复杂的校验,会校验 exe 文件名和路径之类的,感觉非常麻烦
    ysc3839
        3
    ysc3839  
       Jul 27, 2025 via Android
    @340746 有校验就比较尴尬了,我之前弄过的情况是没有校验,且控制软件是 C#写的,很好逆向。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5148 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 09:24 · PVG 17:24 · LAX 02:24 · JFK 05:24
    ♥ Do have faith in what you're doing.