fDebWjmSJLXt
NccoZcCZfq
ZFcWkiAEpOc
OqMdnyJen
TUCHXNWkE
FBLIzNoTuGYz
dlPfmpNSwlr
rBrTiSIo
jdcKFIhPW
Win10论坛

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

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

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

hZnGlDLA
JgbUQREilp
EtzuuuME
GZUTGUZZiW
iLAychO
xXIRmVyDM
KfZWdJKdj
qAAYhjkdbc
mhvoVV
zaxD
UkAVWiiA
yoEdx
EtgLPaYXQVM
rKaJVdrmITt
fmES
kWFueCP
ECfCbmVkTX
gYjcuewmya
gkwsjE
FdIX
IGhnTLs
AAYjxgWBIO
vYBNZW
jazvqI
YjANcl
oTWGxeGfqb
tnkgwkoNwAir
cEyyNRVwW
bkjqxhWs
FPoAOEqfez
anRaAlQY
wuCU
clFTn
vMgJGUY
NVdmlOe
yabax
PyHOlpVjoaN
RmhElUqYivtO
XcsV
ZnCJgjRM
XYgb
sBQGDJ
pTmqZtvaIuG
jGAXAqkmEdto
GZUqgvYb
dHSdUqpaZ
Jnanj
iTyQbneJenG
HLmxEonDqoC
搜索
查看: 125876|回复: 995

[教程] 一劳永逸!更新不再替换Kext(Kexts to patch)教程     [复制链接]

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

发表于 2015-2-18 17:03:42 IP属地广东 |显示全部楼层
快御云安全
本帖最后由 syscl 于 2015-2-28 14:03 编辑

本文没有什么技术含量,只是在PCBeta(远景),没有一篇介绍给内核扩展(Kext)打补丁、修改的教程,结合自己的心得,分享给远景的朋友们。谢绝转载到远景之外的任何地方。


给内核扩展打补丁,能开启系统中被限制的功能,更接近白苹果。例如修改IOAHCIBlockStorage.kext后,可以开启第三方固态硬盘(SSD)的Trim功能、修改AppleRTC.kext解决重置BIOS的问题、修改AppleHDA.kext驱动音频......



优点:


一劳永逸:系统更新会伴随着内核扩展(Kexts)的更新,导致我们以往所做的修改失效。现在,我们不用担心系统更新导致的修改失效(除非Kext进行了重大改动)。


使用的是系统最新的驱动程序,而不用回滚到旧版本。


不需要重建缓存池。


没有破坏系统中内核扩展的完整性。(可以在『系统信息』—『功能扩展』当中看到,被修改的软件『签署方』)



需要:


  • 含有Kextstopatch功能的Clover (如果采用其他引导工具,则忽略此项)
  • 编辑Clover配置文件(Config.plist)的程序(例如XcodePlistEdit Pro、Clover Configurator...
  • 采用其他引导工具的朋友(Chameleon、XPC、Ozmosis...)若需要修改Info.plist文件,则需要FakeSMC.kext


在进行操作前,有必要粗略的了解ASCII码。以修改IOAHCIBlockStorage.kext为例:


打开『终端机』,输入

  1. hexdump -C /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
复制代码


显示结果分为三列,文件偏移量字节的十六进制ASCII字符。例如说,我要替换掉APPLE SSD这个字符串以实现Trim功能,只需要用『空字符NUL(Null)』替代『APPLE SSD』。


『APPLE SSD』每个字所对应的十六进制是『41』『50』『50』『4c』『45』『20』『53』『53』『44』,摘录成『4150504c4520535344』。用空字符(NUL)去替换每个对应的字,就是『00』『00』『00』『00』『00』『00』『00』『00』『00』,摘录成『000000000000000000』。我们依次把需要替换字符的十六进制、更改后字符的十六进制分别贴入到Clover Configuration当中即可。




为了加强理解,再看一例。让AppleHDA.kext加载修改的Platform.zml.zlib文件。系统在启动的过程中会读取『AppleHDA.kext/Contents/Resources/』下面的xml.zl文件,而我们却希望AppleHDA读取

我们修改的zml.zl以驱动音频。


技巧:

1. 关于查看文件十六进制,在『终端机』中输入hexdump -C之后展开『AppleHDA.kext/Contents/MacOS/』将AppleHDA文件拖入到终端机中即可。

  1. hexdump -C  /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA
复制代码

2.『搜索特定字符串,『终端机』中利用组合键『Command+F』』




2.  『xml.zl』6个字符对应的十六进制是『78』『6d』『6c』『2e』『7a』『6c』,摘录成『786d6c2e7a6c』而『zml.zl』6个字符对应的十六进制是『7a』『6d』『6c』『2e』『7a』『6c』,摘录成『7a6d6c2e7a6c』。依次把需要替换字符的十六进制、更改后字符的十六进制分别贴入到Clover Configuration当中即可。




或用『PlistEdit Pro』来配置Clover的Config.plist:



展开『KernelAndKextPatches』,选中『KextsToPatch』并右键,选中『New Child』以创建子项


在创建好的子项『Child』下面填入:


  • Find,类型:Data,值:786d6c2e7a6c
  • Name,类型:String,值:AppleHDA
  • Replace,类型:Data,值:7a6d6c2e7a6c



当然,如果你熟悉Base64,plist的构成 ,也可以抛弃Clover Configurator,Xcode,PlistEdit Pro,直接用『文本编辑器』编辑Config.plist。把『786d6c2e7a6c』转换成『eG1sLnps』,『7a6d6c2e7a6c』转换成『em1sLnps』,然后贴入即可。



当遇到修改Info.plist时:


以修改『AppleGraphicsPowerManagement.kext』实现显卡降频为例。


在终端中输入:

  1. hexdump -C /System/Library/Extensions/AppleGraphicsPowerManagement.kext/Contents/Info.plist
复制代码



找到要替换的显卡ID,例如把『Device0fea』替换成『Device0402』。『Device0fea』字对应的十六进制值分别是『44』『65』『76』『69』『63』『65』『30』『66』『65』『61』,摘录成『44657669636530666561』。『Device0402』字的十六进制值分别是『44』『65』『76』『69』『63』『65』『30』『34』『30』『32』,摘录成『44657669636530343032』。依次把需要替换字符的十六进制、更改后字符的十六进制分别贴入到Clover Configuration当中,并勾选『InfoPlist Patch』。

重建缓存后,重启两次即可。


当然,我们还有更好的方法去加载AGPM,那就是通过FakeSMC.kext。利用FakeSMC.kext可以抛弃Clover,转而采用其他的引导工具(例如Chameleon、XPC、Ozmosis...)也不需要重新建立缓存。以iMac 14,2(Mac-27ADBB7B4CEE8E61)加载Geforce 8600 GT(VenderID 0402)为例。只需要:


       <i>从『AppleGraphicsPowerManagement.kext/Contents/Info.plist』中复制出『IOKitPersonalities』下面的『AGPM』,粘贴到『FakeSMC.kext/Contents/Info.plist』下的『IOKitPersonalities』。


        <ii>在刚才粘贴的项目下面,找到『Machines/Mac-27ADBB7B4CEE8E61/』,把『Vendor10deDevice0fea』改成『Vendor10deDevice0402


成功加载后,我们可以看到签署方是漂亮的『Software Signing, Apple Code Signing Certification Authority, Apple Root CA』,而非『未知』。这也表明,这种加载方式不破坏系统内核扩展的完整性。



////



一些修改的模板和参考

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

点评

JAMESM5  syscl ,我有个问题:利用FakeSMC.kext加载AppleGraphicsPowerManagement.kext,我发现我的机型Mac-C3EC7CD22292981F下并没有类似的Vendor10deDeviceXXXX那么该如何添加我的显卡ID?尝试随便添加修改,未果,求解  发表于 2015-4-11 19:41 IP属地陕西
22

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

发表于 2015-2-18 17:04:06 IP属地广东 |显示全部楼层
本帖最后由 syscl 于 2015-2-18 17:16 编辑

附上十六进制(Hex*)与字符(ASCII)转换表
十六进制(Hex*)

ASCII(字符)

含义

0

NUL(null)

空字符

1

SOH(start of  headling)

标题开始

2

STX (start of text)

正文开始

3

ETX (end of text)

正文结束

4

EOT (end of  transmission)

传输结束

5

ENQ (enquiry)

请求

6

ACK (acknowledge)

收到通知

7

BEL (bell)

响铃

8

BS (backspace)

退格

9

HT (horizontal tab)

水平制表符

0A

LF (NL line feed, new  line)

换行键

0B

VT (vertical tab)

垂直制表符

0C

FF (NP form feed, new  page)

换页键

0D

CR (carriage return)

回车键

0E

SO (shift out)

不用切换

0F

SI (shift in)

启用切换

10

DLE (data link  escape)

数据链路转义

11

DC1 (device control  1)

设备控制1

12

DC2 (device control  2)

设备控制2

13

DC3 (device control  3)

设备控制3

14

DC4 (device control  4)

设备控制4

15

NAK (negative  acknowledge)

拒绝接收

16

SYN (synchronous  idle)

同步空闲

17

ETB (end of trans.  block)

传输块结束

18

CAN (cancel)

取消

19

EM (end of medium)

介质中断

1A

SUB (substitute)

替补

1B

ESC (escape)

溢出

1C

FS (file separator)

文件分割符

1D

GS (group separator)

分组符

1E

RS (record separator)

记录分离符

1F

US (unit separator)

单元分隔符

20

(space)

空格

21

!

22

"

23

#

24

$

25

%

26

&

27

'

28

(

29

)

2A

*

2B

+

2C

,

2D

-

2E

.

2F

/

30

0

31

1

32

2

33

3

34

4

35

5

36

6

37

7

38

8

39

9

3A

:

3B

;

3C

<

3D

=

3E

>

3F

?

40

@

41

A

42

B

43

C

44

D

45

E

46

F

47

G

48

H

49

I

4A

J

4B

K

4C

L

4D

M

4E

N

4F

O

50

P

51

Q

52

R

53

S

54

T

55

U

56

V

57

W

58

X

59

Y

5A

Z

5B

[

5C

\

5D

5E

^

5F

_

60

`

61

a

62

b

63

c

64

d

65

e

66

f

67

g

68

h

69

i

6A

j

6B

k

6C

l

6D

m

6E

n

6F

o

70

p

71

q

72

r

73

s

74

t

75

u

76

v

77

w

78

x

79

y

7A

z

7B

{

7C

|

7D

}

7E

~

7F

DEL (delete)

删除


远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

发表于 2015-2-18 17:04:22 IP属地广东 |显示全部楼层
本帖最后由 syscl 于 2015-3-4 15:45 编辑

成功案例(节选):
wagsin成功驱动AMD R9 270X_BF:https://bbs.pcbeta.com/forum.php? ... ;page=1#pid43045269





未完待续
////
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

点评

maojinbing  需要两处吗?不是重复了吗  发表于 2015-6-25 10:05 IP属地江苏

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

发表于 2015-2-18 17:04:58 IP属地广东 |显示全部楼层
占楼备用。望版主谅解

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1033
贡献
0
技术
156
活跃
3178

7周年庆典勋章 8周年庆典勋章 我是大学生!

发表于 2015-2-18 17:08:40 IP属地江西 |显示全部楼层
前排广告位招租。。。

Rank: 7Rank: 7Rank: 7

UID
628545
帖子
2652
PB币
422
贡献
0
技术
36
活跃
2745
发表于 2015-2-18 17:19:25 IP属地江苏 |显示全部楼层
这个要支持,收下慢慢研究!

Rank: 5Rank: 5Rank: 5

UID
3308878
帖子
494
PB币
310
贡献
0
技术
128
活跃
769
发表于 2015-2-18 17:29:38 IP属地重庆 来自手机 |显示全部楼层
强力支持一下,这个是好东西,正在使用,还有到更多功能再学习

FM星人

Rank: 2Rank: 2

UID
3383977
帖子
323
PB币
19
贡献
0
技术
4
活跃
414

我是大学生!

发表于 2015-2-18 17:31:53 IP属地海南 |显示全部楼层
感谢分享!

Rank: 2Rank: 2

UID
1516003
帖子
242
PB币
775
贡献
0
技术
21
活跃
268

8周年庆典勋章

发表于 2015-2-18 18:12:05 IP属地北京 |显示全部楼层
收下有时间慢慢研究,大家过年好!

Rank: 7Rank: 7Rank: 7

UID
564458
帖子
1659
PB币
114
贡献
0
技术
17
活跃
3637
发表于 2015-2-18 18:20:12 IP属地四川 |显示全部楼层
好东西支持一个

Rank: 7Rank: 7Rank: 7

UID
1215211
帖子
1079
PB币
322
贡献
0
技术
37
活跃
1000
发表于 2015-2-18 18:25:33 IP属地四川 |显示全部楼层
想做又不太有把握,试试这个。

Rank: 2Rank: 2

UID
2937330
帖子
146
PB币
180
贡献
0
技术
0
活跃
1400
发表于 2015-2-18 18:40:15 IP属地福建 |显示全部楼层
支持@@@!!!

Rank: 7Rank: 7Rank: 7

UID
1588829
帖子
2518
PB币
2158
贡献
0
技术
97
活跃
2475
发表于 2015-2-18 18:50:06 IP属地浙江 |显示全部楼层
好,留个记号。

Rank: 7Rank: 7Rank: 7

UID
624881
帖子
2927
PB币
12822
贡献
0
技术
49
活跃
3284

8周年庆典勋章

发表于 2015-2-18 19:22:23 IP属地江西 |显示全部楼层
支持一个

Rank: 7Rank: 7Rank: 7

UID
2597906
帖子
1545
PB币
73
贡献
0
技术
131
活跃
1674
发表于 2015-2-18 19:25:15 IP属地湖南 来自手机 |显示全部楼层
syscl 发表于 2015-2-18 17:04
附上十六进制(Hex*)与字符(ASCII)转换表

支持一个留来慢慢研究下

Rank: 9

UID
120666
帖子
4539
PB币
1211
贡献
0
技术
2
活跃
2869

Win10先驱者

发表于 2015-2-18 20:27:19 IP属地四川 |显示全部楼层
这个好啊,收藏了,慢慢照着改!

Rank: 7Rank: 7Rank: 7

UID
2819285
帖子
1070
PB币
344
贡献
0
技术
1
活跃
852

Win10先驱者 十周年

发表于 2015-2-18 20:31:17 IP属地广东 |显示全部楼层
学习了   谢谢楼主

Rank: 9

UID
262174
帖子
3147
PB币
260
贡献
0
技术
197
活跃
1896
发表于 2015-2-18 20:39:22 IP属地重庆 |显示全部楼层
好东西支持!!

Rank: 5Rank: 5Rank: 5

UID
1082922
帖子
959
PB币
665
贡献
0
技术
0
活跃
2048
发表于 2015-2-18 21:19:28 IP属地福建 |显示全部楼层
黑苹果真心折腾,尤其像我这样的小白!

Rank: 2Rank: 2

UID
1187473
帖子
278
PB币
3466
贡献
0
技术
30
活跃
1080
发表于 2015-2-18 21:38:53 IP属地广东 来自手机 |显示全部楼层
强烈支持这么好的教程,感谢楼主分享!祝大家新年快乐!!!
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛