DeviceMergeNub for _DSM style injection (Injecting values into PCI devices with kext)
This is an example of using the DeviceMergeNub for injection. The stock plist injects into an SMBus controller. In the case of the example it uses -Vendor ID: 0x8086 (Intel) with vendor-id -Device ID: 0x27da with device-id And it injects…
- Primary Author
- @andyvand Published 2010-11-26
- Collection
- OSx86 Core & 10.X
- Archival Footprint
- 5,060 historical reads · 0 curated field notes (from 2 dispatches) · 2010-11-26
- Credited Voices (1)
- @andyvand (2)
This is an example of using the DeviceMergeNub for injection.
The stock plist injects into an SMBus controller.
In the case of the example it uses
-Vendor ID: 0x8086 (Intel) with vendor-id (<86800000>)
-Device ID: 0x27da with device-id (<da270000>)
And it injects the following values through IOProviderMergeProperties:
-device-id: set to 0x303a (<3a300000>)
-name: set to pci8086,303a
-IOName: set to pci8086,303a
It is possible to inject for any device this way.
It can even match for entire classes if class-code is used instead of vendor-id and device-id.
IORegistryExplorer is handy for looking up the exact device entries.
You need to get the Apple plist editor for editing the Info.plist
Download example:
rapid share.com/files/433312133/DeviceMergeNub_inject.zip
Download plist editor:
rapid share.com/files/433312297/Property_List_Editor.zip
Download IORegistryExplorer:
rapid share.com/files/430687772/IORegistryExplorer.zip
Sources for DeviceMergeNub:
rapid share.com/files/432918115/DeviceMergeNub.zip
Sources and builds for Tiger, Leopard and Snow Leopard:
rapid share.com/files/433496862/DeviceMergeNub_all_os.zip
Author Updates & Technical Revisions
Follow-up dispatches by @andyvand
A proper plist example is the one attached below.
Sorry for the bad first example... :-|
Sources & Contributor Provenance (1 credited usernames · Thread #6754)
| Username | Dossier Contribution | Dispatches | Active Window |
|---|---|---|---|
| @andyvand | Primary Author | 2 | 2010-11-26 |