Skip to content

Releases: raybbian/iUtils

iUtils v0.0.2-alpha

14 Jul 05:08
cd5ae05
Compare
Choose a tag to compare
iUtils v0.0.2-alpha Pre-release
Pre-release

Features

  • All hidden Apple USB features enabled: CDC NCM P2P Ethernet (requires UsbNcm.sys driver, should auto install), Valeria Screenshare (driver not implemented).
  • All default Apple USB features enabled: PTP Photo Transfer, iTunes USBMUX (requires iTunes/Apple Mobile Device Support), Audio Streaming (driver not implemented), Mobile Data Tethering (requires netaapl64.sys, should auto install).
  • Configuration App: (Device Info not implemented) See your device's enabled features and set its configuration (to choose which ones to be enabled).
  • Messenger Library: Control your Apple device with code (sorry, no documentation yet).

Bugs and Issues

  • To see bugs that occur within the kernel, please use a VM and attach a kernel debugger. Set the kernel debugger to capture IHVDRIVER KdPrint output. You will be able to see log and error messages relating to the driver, even if you encounter a BSOD.
  • To see bugs that occur with the Messenger or GUI, use DebugView to view debug strings. Messenger.dll related messages are prefixed with [IUMSG] and Configurator.exe related messager are prefixed with [IUGUI].
  • If you find a bug/GUI crashes/BSOD, PLEASE OPEN A GITHUB ISSUE! Include these messages and a short description of what you were doing.

Uninstalling (Read Before Installing)

  1. First unplug your Apple Device. Then, go to Device Manager > Universal Serial Bus Devices > iUtils Keystone Service Loader. Right click this entry > Uninstall device. You should check the box to "Attempt to remove this driver for this device".
  2. Ensure that the driver is uninstalled. Go to Device Manager > View (at top) > Devices by driver. Scroll down until you find something like oemXX.inf (keystone.inf). Right click this entry and remove the driver.
  3. When you plug your Apple Device back in, the driver should be removed and the device will be loaded with the standard Windows driver.

Installing (64bit Only)

I advise anyone testing/installing the early versions of this driver to do so in a virtual machine. I have only personally tested the driver on a 64 bit Windows 11 23H2 machine - PROCEED AT YOUR OWN RISK.

  1. Ensure that your device is able to install load unsigned binaries and unsigned driver inf files. You can learn more on how to do that here.
    • I recommend going with the kernel debugger route - this way, you will be able to identify and report what went wrong with the driver.
  2. Download the iUtils-v0.0.1-alpha.zip folder and extract it to a directory. You should see Keystone.inf, Keystone.sys, Messenger.dll, and Configurator.exe among some other files in that folder.
  3. Navigate to that folder in a administrator command prompt, and install the driver in addition to a device node (the driver service loader).
    • With devcon.exe in that same folder, and run .\devcon.exe install .\Keystone.inf Root\KeystoneServiceLoader
  4. Connect your Apple device. It will likely show in Device Manager > Universal Serial Bus Devices > Apple Mobile Device USB Composite Device.
  5. Install the Keystone driver for the Apple device. Right click the device entry in device manager > Update Driver > Browse my computer for drivers > Let me pick from a list of available drivers on my computer > iUtils Device.
  6. Your device should now be loaded with the iUtils Keystone driver! To set the configuration of the device, open Configurator.exe (it may take a while) and use the set configuration buttons.

Changes from v0.0.1-alpha:

  • Fixed heap corruption and memory issues related with Messenger and Configurator
  • Fixed a bug where a device removed in the middle of its configuration could get stuck in an invalid state