Farx 发表于 2008-12-14 04:09

仿冒驱动(fake kext)的制作教程

使用前提:用EFI分区引导(论坛里有其详细介绍)

什么是仿冒驱动(fake kext)及使用仿冒驱动(fake kext)的好处见我的另一个帖子https://bbs.pcbeta.com/thread-366209-1-1.html

这里只以AppleAHCIPort.kext为例简单说说其制作过程:
1、首先从/System/Library/Extensions目录复制破解了的AppleAHCIPort.kext到桌面,右键-->Show package contents,进入其contents目录。只保留Info.plist文件,其他都删除。


2、双击Info.plist文件,删掉CFBundleExecutable及CFBundleGetInfoString项,

然后按图修改CFBundleIdentifier和CFBundleName项的值。保存修改。


3、最后,把桌面上修改过的AppleAHCIPort.kext改名为LegacyAppleAHCIPort.kext。
这样,整个制作过程就完成了。

接下来就是把这个LegacyAppleAHCIPort.kext放到EFI分区的Extensions目录里就成了。

这样,就算你用原生的AppleAHCIPort.kext也不会导致你进不了系统了。



[ 本帖最后由 Farx 于 2008-12-14 08:06 编辑 ]

kee 发表于 2008-12-14 04:46

好帖子,下一次装的时候研究一下. 目前是EFI分区里装的破解AppleAHCIPort.kext. 不知道有什么区别?

Farx 发表于 2008-12-14 07:22

原帖由 kee 于 2008-12-14 04:46 发表 https://bbs.pcbeta.com/images/common/back.gif
好帖子,下一次装的时候研究一下. 目前是EFI分区里装的破解AppleAHCIPort.kext. 不知道有什么区别?

最本质的区别:破解驱动只能用旧的驱动核心代码,除非再次破解。而仿冒驱动能不加任何更改就使用最新的驱动核心代码。

Farx 发表于 2008-12-14 07:41

我现在的系统驱动目录里全部是原生驱动。
EFI分区的Extensions目录里只有三个外来的破解驱动:
AppleDecrypt.kext   没有这个,Hacintosh玩不转。
GenericCPUPowerManagement.kext   解决关机、重启的问题。
SMBIOSResolver.kext   解决“系统概述”的显示问题。
其余都是仿冒驱动。

补张图:

[ 本帖最后由 Farx 于 2008-12-14 08:01 编辑 ]

youminbuluo 发表于 2008-12-14 10:20

回复 4楼 Farx 的帖子

问下~~~如果破解的kext与原来的kext有本质的区别,比如重新编译过~~~~
这个玩意是不是就不可行了

Farx 发表于 2008-12-14 10:38

原帖由 youminbuluo 于 2008-12-14 10:20 发表 https://bbs.pcbeta.com/images/common/back.gif
问下~~~如果破解的kext与原来的kext有本质的区别,比如重新编译过~~~~
这个玩意是不是就不可行了

对!
比如AppleHDA.kext,这个不破解,一般是很难用到原生AppleHDA驱动的。
不过,我的ALC883通过修改DSDT里的代码,可以通过仿冒驱动用原生AppleHDA驱动,扔掉HDAEnabler.kext了。

wblovejx 发表于 2008-12-14 10:53

youminbuluo 发表于 2008-12-14 12:42

回复 6楼 Farx 的帖子

确实强悍的东西~~~~和string差不多~~~~~~

duanmuxiyu 发表于 2008-12-14 14:57

本帖最后由 duanmuxiyu 于 2009-8-12 20:10 编辑

:sleepy:好好想想~不错~

kee 发表于 2008-12-14 14:58

再次来读一下,确实好思路. LZ能不能传一下 AppleDecrypt.kext , GenericCPUPowerManagement.kext ,SMBIOSResolver.kext这三个文件.

kee 发表于 2008-12-14 14:59

建议加分,确实很好的. 晚上就试一下.

kee 发表于 2008-12-14 15:04

再问一下, GenericCPUPowerManagement.kext   解决关机、重启的问题。这个文件比 OpenHaltRestart.kext 有什么优势? 我现在用的后者,已经很不错了.

看到楼主用的是efi_boot_v6.1 我用 6.1 的时候 安装还有以后启动时, 都是开机画面没有苹果标志,只有风火轮转动然后进入系统.用 5.1就没有问题.郁闷~

[ 本帖最后由 kee 于 2008-12-14 15:10 编辑 ]

Farx 发表于 2008-12-14 15:12

原帖由 duanmuxiyu 于 2008-12-14 14:57 发表 https://bbs.pcbeta.com/images/common/back.gif
楼主,知道为啥子回帖的少不,因为名字不响啊!建议把标题改为“完美驱动解决方案(fake kext)的制作教程”
然后在帖子里介绍一下啥叫fake kext ,中文名称,由来等等。然后给一些试验效果(即使用前与使用后的比较) ...

呵呵~~是否吸引眼球这并非我考虑的问题。
这帖并非入门贴,有一定经验的同好才知其意义。
至于使用前与使用后,可能并不能感觉到太多的不同。

Farx 发表于 2008-12-14 15:45

原帖由 kee 于 2008-12-14 14:58 发表 https://bbs.pcbeta.com/images/common/back.gif
再次来读一下,确实好思路. LZ能不能传一下 AppleDecrypt.kext , GenericCPUPowerManagement.kext ,SMBIOSResolver.kext这三个文件.

顶楼的链接里我传了附件。

Farx 发表于 2008-12-14 15:53

原帖由 kee 于 2008-12-14 15:04 发表 https://bbs.pcbeta.com/images/common/back.gif
再问一下, GenericCPUPowerManagement.kext   解决关机、重启的问题。这个文件比 OpenHaltRestart.kext 有什么优势? 我现在用的后者,已经很不错了.

看到楼主用的是efi_boot_v6.1 我用 6.1 的时候 安装还有以后启 ...

OpenHaltRestart的功能比较单纯。而GenericCPUPowerManagement主要提供电源管理方面的功能,解决关机、重启的问题只是它附带的一种功能。可到作者的网站看看。www.superhai.com
我刚转到用EFI-Boot不久,以前一直用pc_efi v8。没有苹果标志这一细节倒没注意。
正因为v6.1有fixed_DSDT功能我才使用它的。当然,我还看中它EFI分区加载驱动的强大功能。

[ 本帖最后由 Farx 于 2008-12-14 16:59 编辑 ]

Farx 发表于 2008-12-14 20:44

原帖由 GUOLEIYUANMIN 于 2008-12-14 20:06 发表 https://bbs.pcbeta.com/images/common/back.gif
请问哪些驱动需要做仿冒的?没太看明白.

需要做仿冒的,就是那些非原版的驱动啊。


有必要说明一下:
仿冒驱动并不是必需的,也是有前提的。
如果没有EFI分区引导安装原版Leopard的经验,那么这个东西就没有任何意义了。

[ 本帖最后由 Farx 于 2008-12-14 20:54 编辑 ]

kee 发表于 2008-12-15 00:50

折腾了一晚上,LZ 的2个AppleDecrypt.kext , GenericCPUPowerManagement.kext 不适合,用楼主的四国.自己修改了楼主的 SMBIOSResolver.kext完美了.现在没有任何不爽得了. 付上我最小的 Extensions 供网友参考.

Farx 发表于 2008-12-15 04:07

原帖由 kee 于 2008-12-15 00:50 发表 https://bbs.pcbeta.com/images/common/back.gif
折腾了一晚上,LZ 的2个AppleDecrypt.kext , GenericCPUPowerManagement.kext 不适合,用楼主的四国.自己修改了楼主的 SMBIOSResolver.kext完美了.现在没有任何不爽得了. 付上我最小的 Extensions 供网友参考.

AppleDecrypt与dsmos的作用是一样的,只是前者更新一点,估计功能更完备一点,两者只能择其一,不能同时用。
IntelCPUPMDisabler的作用是使原版的电源管理驱动失效,如果你有fixed_DSDT,那这个IntelCPUPMDisabler就没有存在的必要了。估计IntelCPUPMDisabler与GenericCPUPowerManagement有冲突。

楼上做仿冒驱动成功吗?

我说一下流程,供参考:
最好先选不会造成系统崩溃的驱动作试验,比如网卡驱动。拷贝到EFI分区Extensions目录后别忘了运行update.sh。
然后把原版的网卡驱动通过Kext helper装进系统。
重启进系统前,最好在Windows下把Extensions.mkext(在System/Library目录里)删掉,加-f参数进系统使之生效。
如果如期成功,再进行下一步的操作。祝成功!

youminbuluo 发表于 2008-12-15 22:07

回复 13楼 Farx 的帖子

是这样子的
没人顶拉到

自由易 发表于 2008-12-16 10:18

楼主很强悍啊~~!!! 多来跟楼主学习学习pb63
页: [1] 2 3 4 5 6 7 8
查看完整版本: 仿冒驱动(fake kext)的制作教程