无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3675|回复: 15
打印 上一主题 下一主题

[原创] 用改文件的方法让不支持refs的win10支持它

  [复制链接]
跳转到指定楼层
1#
发表于 2023-1-18 15:49:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qingdao33122 于 2023-1-18 16:04 编辑

只为娱乐,后果自负。

受这个“全版本drvinst.exe文件5分钟跳过驱动签名验证修改指南” http://bbs.wuyou.net/forum.php?m ... &extra=&ordertype=1 帖子的启发,改了下uReFS.dll,成了。

只需改两个字节。

得到.asm文件后查找 IsRefsFormatEnabled 函数。这个函数共有三个地方调用,所以直接改函数体了。
函数很长,搜索返回指令ret 。
是这样的
  000000018000AFE2: E8 9D FA 08 00     call        ?Reset@?$SP@EV?$SP_HLOCAL@E@@@@QEAAXXZ
  000000018000AFE7: 39 B5 B8 00 00 00  cmp         dword ptr [rbp+0B8h],esi
  000000018000AFED: 8B 8D 14 02 00 00  mov         ecx,dword ptr [rbp+214h]
  000000018000AFF3: 0F 4C CE           cmovl       ecx,esi
  000000018000AFF6: 85 C9              test        ecx,ecx
  000000018000AFF8: 40 0F 95 C6        setne       sil
  000000018000AFFC: 8B C6              mov         eax,esi
  000000018000AFFE: 48 8B 8D F0 10 00  mov         rcx,qword ptr [rbp+10F0h]
                    00
  000000018000B005: 48 33 CC           xor         rcx,rsp
  000000018000B008: E8 53 00 09 00     call        __security_check_cookie
  000000018000B00D: 4C 8D 9C 24 00 12  lea         r11,[rsp+1200h]
                    00 00
  000000018000B015: 49 8B 5B 30        mov         rbx,qword ptr [r11+30h]
  000000018000B019: 49 8B 73 38        mov         rsi,qword ptr [r11+38h]
  000000018000B01D: 49 8B 7B 40        mov         rdi,qword ptr [r11+40h]
  000000018000B021: 49 8B E3           mov         rsp,r11
  000000018000B024: 41 5F              pop         r15
  000000018000B026: 41 5E              pop         r14
  000000018000B028: 41 5D              pop         r13
  000000018000B02A: 41 5C              pop         r12
  000000018000B02C: 5D                 pop         rbp
  000000018000B02D: C3                 ret


返回值应该在EAX传递(这是我看三处调用的地方推断出来的),在000000018000AFFC有设置EAX的指令
test        ecx,ecx
setne       sil
mov         eax,esi
通过上下文判断 ECX 只是临时使用的。所以把 test  ecx,ecx 改为 inc ecx
这个文件本身就有inc ecx, 查得机器码是FF C1
打开二进制编辑器,查找 test ecx,ecx周围一圈的二进制值,然后把 85 C9改为 FF C1,保存,完工。

题外话,如果你是像我一样的菜鸟,容易误把.pdb文件拖动到wdisasm.bat上,搞了好久才发现问题。

我的win10版本是1803,其他版本没试过。

评分

参与人数 3无忧币 +20 收起 理由
朱玛12345678 + 10 我给满分!
董大 + 5 赞一个!
d9o + 5 很给力!

查看全部评分

2#
发表于 2023-1-18 16:53:51 | 只看该作者
只给5分实在不能拿出手,可惜我上限就这个了。
回复

使用道具 举报

3#
发表于 2023-1-18 20:48:00 | 只看该作者
楼主这个方法不错,直接魔改uReFS.dll的确可以破解Windows有些SKU不能格式化为ReFS的人为限制。

比用ProductPolicyEditor.exe编辑系统SKU产品策略的方法,来强行启用ReFS格式化功能要方便很多。

前排支持一下
回复

使用道具 举报

4#
发表于 2023-1-18 23:07:25 | 只看该作者
谢谢分享!
回复

使用道具 举报

5#
发表于 2023-1-19 09:56:46 | 只看该作者
赞一个!
回复

使用道具 举报

6#
发表于 2023-1-19 12:00:06 | 只看该作者
赞100个。。
回复

使用道具 举报

7#
发表于 2023-1-19 20:55:21 | 只看该作者
看部懂,这个需要编程基础么

点评

需要懂一点汇编语言。一点点就可以。我也只懂一点点。  详情 回复 发表于 2023-1-19 21:14
回复

使用道具 举报

8#
 楼主| 发表于 2023-1-19 21:14:28 | 只看该作者
adminkk 发表于 2023-1-19 20:55
看部懂,这个需要编程基础么

需要懂一点汇编语言。一点点就可以。我也只懂一点点。

点评

亿点点?  详情 回复 发表于 2023-1-20 09:00
回复

使用道具 举报

9#
发表于 2023-1-20 09:00:33 | 只看该作者
qingdao33122 发表于 2023-1-19 21:14
需要懂一点汇编语言。一点点就可以。我也只懂一点点。

亿点点?
回复

使用道具 举报

10#
发表于 2023-1-20 09:44:29 | 只看该作者
谢谢分享!
            


    Windows 11 Pro for Workstations  BeTa  测试通道 ◆ 22623.1028 ● 22H2

   360极速X 21.0.1180.0 【Chromium 95.0.4638.69

  
回复

使用道具 举报

11#
发表于 2023-1-26 18:11:02 | 只看该作者
谢谢大佬的分享
回复

使用道具 举报

12#
发表于 2023-1-26 18:19:04 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

13#
发表于 2023-12-7 00:17:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

14#
发表于 2023-12-16 00:44:14 | 只看该作者
还有这种操作
回复

使用道具 举报

15#
发表于 2024-4-21 18:13:49 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

16#
发表于 2024-4-21 19:24:21 | 只看该作者
谢谢分享,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-18 08:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表