无代码kext无法打开CFBundle

时间:2012-08-24 18:06:00

标签: macos kernel-extension

我会感激任何帮助,并承认我现在正式在我头上。

我迫切需要一个无代码kext,以防止USB设备被邪恶的Apple通用驱动程序占用。我已经阅读了每一个问题以及我能找到的任何建议,甚至通过Apple文档阅读,如果我知道自己在做什么,那将会很棒。但是我没有。

我的kext文件位于/ system / library / extensions,chown,chmod,然后是kextcache -e。 无法打开CFBundle

该设备是一个小型设备,在其状态区域内包含一些参数,因此我只需要获得控制级别访问权限。没有大的读写。

任何建议,指示或帮助都会感激不尽。 ViD和PiD以及BCDDevic数字是正确的。我读到的地方CF Bundle标识符与原始解决方案相同,但是这对我没有意义,因为没有原始驱动程序。

这是我的kext文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"     "http://www.apple.com/DTDs/PropertyList-1.0.dtd ">
<plist version="1.0">
    <dict>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
        <key>CFBundleExecutable</key>
        <string>VendorSpecificDriver</string>
        <key>CFBundleIdentifier</key>
        <string>com.changers</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <string>1.0.0</string>
        <key>IOKitPersonalities</key>
        <dict>
            <key>DeviceDriver</key>
            <dict>
                <key>CFBundleIdentifier</key>
                <string>com.changers</string>
                <key>IOClass</key>
                <string>IOService</string>
                <key>IOProviderClass</key>
                <string>IOUSBDevice</string>
                <key>bcdDevice</key>
                <integer>273</integer>
                <key>idProduct</key>
                <integer>1406</integer>
                <key>idVendor</key>
                <integer>5840</integer>
            </dict>
            <key>InterfaceDriver</key>
            <dict>
                <key>CFBundleIdentifier</key>
                <string>com.changers</string>
                <key>IOClass</key>
                <string>IOService</string>
                <key>IOProviderClass</key>
                <string>IOUSBInterface</string>
                <key>bConfigurationValue</key>
                <integer>1</integer>
                <key>bInterfaceNumber</key>
                <integer>0</integer>
                <key>idProduct</key>
                <integer>1406</integer>
                <key>idVendor</key>
                <integer>5840</integer>
            </dict>
        </dict>
        <key>OSBundleLibraries</key>
        <dict>
            <key>com.apple.iokit.IOUSBFamily</key>
            <string>1.8</string>
            <key>com.apple.kernel.libkern</key>
            <string>6.0</string>
        </dict>
    </dict>
</plist>

1 个答案:

答案 0 :(得分:0)

在DeviceDriver和InterfaceDriver的CFBundleIdentifier部分中,尝试使用“com.apple.kpi.iokit”而不是“com.changers”。此外,不确定您是否需要DeviceDriver部分中的bcdDevice密钥。

希望有比我更多知识的人会参与其中。