用改文件的方法让不支持refs的win10支持它

查看 103|回复 9
作者:黑鹰99   
   
[color=]只为娱乐,后果自负。
受这个“全版本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
[color=]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,其他版本没试过。

文件, 函数, 版本

落落无痕清晨   
只给5分实在不能拿出手,可惜我上限就这个了。
liaocwvae   
楼主这个方法不错,直接魔改uReFS.dll的确可以破解Windows有些SKU不能格式化为ReFS的人为限制。
比用ProductPolicyEditor.exe编辑系统SKU产品策略的方法,来强行启用ReFS格式化功能要方便很多。
前排支持一下
红色的太阳   
谢谢分享!
Ailen   
赞一个!
abben   
赞100个。。
Osk   
看部懂,这个需要编程基础么
x86   

adminkk 发表于 2023-1-19 20:55
看部懂,这个需要编程基础么

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

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

亿点点?
SpecterShell   
谢谢分享!
            
    Windows 11 Pro for Workstations  


[color=]BeTa
  测试通道 ◆
22623.1028 ● 22H2

   360极速X 21.0.1180.0

【Chromium
[color=]95.0.4638.69

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

返回顶部