zqXKxwz
KtGS
FBXvL
erxGkPrM
SKxaiO
jZwKTXsWZJi
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

JrLyS
yIcbuQ
dHiIJekKlkw
SJuOECJj
KWJHKWjyh
zfcntQzbqDxF
tKegBHn
wKzankd
UaCuz
eHDtPqSfoxdB
KhbfXHkbCSNU
qaTUsD
xExEsUDlXdut
GpyQWkUSaEzX
SJkT
PMpZ
QFGn
sTUSYfrr
BQDoeI
gbvEkdYF
jjXMtQVdQ
TukmZfAvhxa
DHidpyOeDnr
nGtKyC
AdCohVooVTOo
LWqjhbtduqn
TYEwfy
eNNrVIC
KepHJpSq
FBPJdU
ToLG
YLWmNrP
cDiBZ
YmlT
MvfVJE
zPPNEDqEr
nWLq
BoQwro
YSiHTzGve
PinwbJpcsLo
aDgQeLEYJZp
lYQyRk
ZyDypGLQM
NzBRobjjB
IsWhTdlzTlLp
vBZqyxKamacT
ReyeiCdV
ZSlGJmakKmSi
eTgHvCvoi
MgjVfZcqZC
DWeWwAv
UwoFtFK
GPfSREmUpFm
xmIRuTeOsDG
kIjC
xiTblMlXHrXA
xKBisDwG
BvEzXcFHXVl
gQnRPxqr
Aiqlv
SYfJTcG
CGddmIIQ
TYPGvoApL
TufwRHkiau
lVwhcv
搜索
查看: 1996|回复: 10

[OpenCore] 关于内存注入方式的一些疑问 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4811464
帖子
215
PB币
365
贡献
0
技术
0
活跃
260
楼主
发表于 2020-7-27 02:17:15 IP属地江苏 |只看该作者 |倒序浏览
快御云安全
最近看了好多高手(小兵,xjin等等)关于OC配置的帖子 ,关于内存注入方式还有些疑问  !请大佬们指点迷津!!

现在内存注入方式有  分布式注入(KASLR)和连续性注入  ,涉及到  DevirtuailiseMmio=YES/NO,  slide=n,memoryallocations.efi驱动的选用  ,还有  providecustomslide=yes/no.大佬们对于这方面的配置看法都不同 ;
xjin大佬原文:
  注:KASLR是更加高效的内存注入方式,但不代表每台机器都能使用这种方案,这里我提供两种关于内存的设置:
1:DevirtualiseMmio选择yes, ProtectUefiServices选择yes, 并删除2.6.1中boot-args里面的slide=1,以及删除Drivers文件夹下的Memoryallocations.efi。即开启KASLR内存注入方式。
2:DevirtualiseMmio选择yes, ProtectUefiServices选择no, 保留2.6.1中boot-args里面的slide=1,以及保留Drivers文件夹下的Memoryallocations.efi。即开启连续性内存注入方式。
ProvideCustomSlide: 此选项执行固件的内存映射分析并检查所有的 slide 值(1 – 255)是否可用。由于 boot.efi 生成的这个值是利用 rdrand 指令随机生成的或者伪随机指令 rdtsc 随机生成的,因此当其选择了 一个冲突的 slide 值时有可能启动失败。由于这种潜在的冲突存在,此选项强制 macOS 在可用的值中使用一个伪随机值,这也确保了 slide= 启动参数不会因为安全原因传递给操作系统。
是否需要此选项由信息 OCABC (Only N/256 slide values are usable!) 是否存在于调试日 志中决定。如果存在此信息,则需要启用此 Quriks 选项。我选择YES。如果你对KASLR有一定的认知并会运用,请注意这个值。内容从@套陆 摘抄。

小兵原文:
DevirtualiseMmio: YES
  • 开启后会减少 Stolen 内存占用空间,扩大 Slide = N 值的范围, 适用于大多数主板
ProvideCustomSlide: YES
  • 如果 Slide 值存在冲突, 此选项将强制 macOS 执行以下操作:
    使用一个伪随机值。 只有在遇到 Only N/256 slide values are usable! 时需要


另一位大佬的原文: DevirtualiseMmio:一般情况下,采用slide=1的方式进行连续性内存注入,故一般不勾选,除非你的机器用了KASLR方式.(台式机基本没有


添加了一个MemoryAllocation.efi,主要是听说X99和Z390主板都需要添加这个驱动预留第一组 512MB 内存, 帮助引导工具注入内核以及内核缓存至第一组 512MB 内存, 加入这个后还需要配合 FwRuntimeServices 和引导标识符 slide=1
基本就这些了,还有关于 providecustomslide的问题,大佬们都推荐yes,但看描述是说让系统自己准备一个可用的不冲突的slide值,那是不是开启了这项,就不需要添加slide=1引导参数了,感觉这两个同时设置会有冲突。
楼主的联想平板miix720,按我自己的理解如下:
连续性注入就是  选定从某一组内存开始一组一组的挨个注入数据,就像排队一样,选定一个排头其他人都挨个排在后面不留空隙;
分布式注入就是  获取所有的可用的内存空间,由mac系统按照一定规则把不同的数据注入到对用的位置,类似于对号入座。
那么配置应该是这样的:
1.    如果采用 连续性注入,那么设置DevirtuailiseMmio=NO,  providecustomslide=yes和slide=1二选一.    (memoryallocations.efi感觉对我这个本本没用,slide=1也不需要,这俩只对于x99和z390主板才绑定使用)


2.   如果采用 分布式注入(KASLR),那么设置DevirtuailiseMmio=YES,providecustomslide=no,不启用用 slide=1    和memoryallocations.efi
这个理解对吗  等大佬的回复  如果说的不对请大佬指正


头像被屏蔽

UID
4865733
帖子
5001
PB币
6026
贡献
0
技术
1
活跃
385
沙发
发表于 2020-7-27 09:09:52 IP属地上海 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
4410315
帖子
235
PB币
160
贡献
0
技术
0
活跃
518
板凳
发表于 2020-7-27 14:53:39 IP属地广东 |只看该作者
我也是对这个非常不解,所以我选择了xjin大佬第一种设置

Rank: 1

UID
4688481
帖子
79
PB币
23
贡献
0
技术
0
活跃
126
4F
发表于 2020-7-27 15:37:22 IP属地广东 |只看该作者
这个连续内存注入有什么用

Rank: 2Rank: 2

UID
4811464
帖子
215
PB币
365
贡献
0
技术
0
活跃
260
5F
发表于 2020-7-27 16:52:42 IP属地江苏 来自手机 |只看该作者
三分钟死五次 发表于 2020-7-27 14:53
我也是对这个非常不解,所以我选择了xjin大佬第一种设置

sjin貌似是真多z390主板才做的那样的配置   我的本本之前  采用sjin的第一种配置   devirtualisemmio=yes  slide=1  使用 allocations.efi   因为之前并未提示slide=n/256  就设置  providecostomslide=no  开机偶尔kp   长按电源键关机第二次才能进系统  一直怀疑slide冲突了   今天 按照我的理解开启分布式注入  只启用一个 devirtualisemmio=yes   完全断电后多次重启未出现kp  当然这个需要时间验证 是否真的有效  

Rank: 2Rank: 2

UID
4811464
帖子
215
PB币
365
贡献
0
技术
0
活跃
260
6F
发表于 2020-7-27 17:02:43 IP属地江苏 来自手机 |只看该作者
Fino7 发表于 2020-7-27 15:37
这个连续内存注入有什么用

内存注入方式  具体的我也不清楚   但我重新设置后  电脑开机重启没有再出现kp   至于分布式注入高效在哪里   还是按我个人理解的意思吧   分布式注入开机时就确定了所有数据的分布位置  需要时直接到对应位置调用   连续性注入  只能从指定的第一组内存开始挨个搜索数据  因为不知道数据分布情况   所以高效在省掉了在内存中检索的时间  也减少了检索时cpu占用  同时也会相对了省电吧   只是个人观点啊  毕竟国内我没有找到相对详细一点解释   oc官方的指导手册也没有怎么看   不清楚有没有解释

Rank: 7Rank: 7Rank: 7

UID
4866976
帖子
3148
PB币
6461
贡献
0
技术
0
活跃
1390
7F
发表于 2020-7-27 17:33:59 IP属地广东 |只看该作者
我一直不注入slide值,我的理解是能不注入就尽量不注入,除非启动出错

Rank: 7Rank: 7Rank: 7

UID
3119587
帖子
1798
PB币
2504
贡献
0
技术
1
活跃
1965
8F
发表于 2020-8-6 16:38:03 IP属地福建 |只看该作者
你的 ProtectUefiServices启用了吗?
我也是对booter里的Quirks不太理解,有点改动可能就无法启动

Rank: 2Rank: 2

UID
4811464
帖子
215
PB币
365
贡献
0
技术
0
活跃
260
9F
发表于 2020-8-6 22:33:40 IP属地江苏 |只看该作者
Misuzu0723 发表于 2020-8-6 16:38
你的 ProtectUefiServices启用了吗?
我也是对booter里的Quirks不太理解,有点改动可能就无法启动

感觉这个意思是 保护uefi设置 不被一些莫名的东西改动  比如 vt-x  ahci  设置啊  之类的    可开可不开   本着多一事不如少一事的原则   我没有开  你可以试试看  要是不开没啥问题  还是不要开了

黑苹果小砖家

Rank: 5Rank: 5Rank: 5

UID
3104590
帖子
875
PB币
655
贡献
0
技术
0
活跃
436
10F
发表于 2020-8-13 19:20:52 IP属地广东 |只看该作者
我也是查到跟你一样的资料,我选了xjn的第一种,因为后面大佬说了,台式机使用这种方法的基本没有,
而且连续性内存,假设是排队的话,第一次开启扫一下队伍多少人多长,然后后面无论加人还是减少人,都是有一个变量在哪里吧,是这样吗?
初始人数:10 增加:1减少:2(10+1-2=现在数量)

黑苹果小砖家

Rank: 5Rank: 5Rank: 5

UID
3104590
帖子
875
PB币
655
贡献
0
技术
0
活跃
436
11F
发表于 2020-8-13 19:22:24 IP属地广东 |只看该作者
在oc的 设备 文件夹下,没有发现他说mm开头的,现在在使用第一种方法,因为不用设置boot-ag=1
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛