# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
No description provided by the author
ConnectToService connects to a service on the phone and returns the ready to use DeviceConnectionInterface.
DeviceListfromBytes parses a DeviceList from a byte array.
FixWindowsPaths replaces backslashes with forward slashes and removes the X: stylewindows drive letters.
GetDevice returns: the device for the udid if a valid udid is provided.
GetLanguage creates a new lockdown session for the device and retrieves language and locale.
GetProductVersion gets the iOS version of a device.
GetValues returns all values of deviceInformation from lockdown.
GetValuesPlist returns the full lockdown values response as a map, so it can be converted to JSON easily.
GetWifiMac gets the static MAC address of the device WiFi.note: this does not report the dynamic MAC if you enable the"automatic WiFi address" feature.
IOS12 semver.MustParse("12.0").
IOS14 semver.MustParse("14.0").
ListDevices returns a DeviceList containing data about allcurrently connected iOS devices using a new UsbMuxConnection.
MuxResponsefromBytes parses a MuxResponse struct from bytes.
NewDeviceConnection creates a new DeviceConnection pointing to the given socket waiting for a call to Connect().
NewDeviceConnectionWithConn create a DeviceConnection with a already connected network conn.
NewListen creates a new Listen Message for USBMUX.
NewLockDownConnection creates a new LockDownConnection with empty sessionId and a PlistCodec.
NewPlistCodec create a codec for PLIST based services with [4 byte big endian length][plist-payload] based messages.
NewReadDevices creates a struct containing a request for a device list that can be sent to UsbMuxD.
NewUsbMuxConnection creates a new UsbMuxConnection from an already initialized DeviceConnectionInterface.
NewUsbMuxConnectionSimple creates a new UsbMuxConnection with a connection to /var/run/usbmuxd.
Ntohs is a re-implementation of the C function Ntohs.it means networkorder to host oder and basically swapsthe endianness of the given int.It returns port converted to little endian.
Pair tries to pair with a device.
PairRecordfromBytes parsed a plist into a PairRecord.
PairSupervised uses an organization id from apple configurator so you can paira supervised device without the need for user interaction (the trust popup)Arguments are the device, the p12 files raw contents and the password used for the p12file.
ParsePlist tries to parse the given bytes, which should be a Plist, into a map[string]interface.It returns the map or an error if the decoding step fails.
PathExists is used to determine whether the path folder existsTrue if it exists, false otherwise.
ReadPairRecord creates a new USBMuxConnection just to read the pair record and closes it right after than.
SetLanguage creates a new lockdown session for the device and sets a new language and locale.Changes will only be made when the value is not an empty string.
No description provided by the author
StartService conveniently starts a service on a device and cleans up the used UsbMuxconnection.It returns the service port as a uint16 in BigEndian byte order.
ToPlist converts a given struct to a Plist using thegithub.com/DHowett/go-plist library.
ToPlistBytes converts a given struct to a Plist using thegithub.com/DHowett/go-plist library.
# Constants
DefaultUsbmuxdSocket this is the unix domain socket address to connect to.
Lockdownport is the port of the always running lockdownd on the iOS device.
# Structs
AllValuesType contains all possible values that can be requested fromLockDown.
AttachedMessage contains some info about when iOS devices are connected or disconnected from the host.
BasebandKeyHashInformationType containing some baseband relateddata directly from the ios device.
DeviceConnection wraps the net.Conn to the ios Device and has support forswitching Codecs and enabling SSL.
DeviceEntry contains the DeviceID with is sometimes neededf.ex.
DeviceList is a simple wrapper for aarray of DeviceEntry.
DeviceProperties contains important device related info like the udid which is named SerialNumberhere.
No description provided by the author
GetAllValuesResponse just the wrapper for AllValuesType.
LanguageConfiguration is a simple struct encapsulating a language and locale string.
ListenType contains infos for creating a LISTEN message for USBMUX.
LockDownConnection allows you to interact with the Lockdown service on the phone.You can use this to grab basic info from the device and start other services on the phone.
No description provided by the author
No description provided by the author
MuxResponse is a generic response message sent by usbmuxd it contains a Number response code.
NonVolatileRAMType contains some internal device infoand can be retrieved by getting all values.
No description provided by the author
PairRecord contains the HostID string,the SystemBUID string, the HostCertificate []byteand the HostPrivateKey []byte.It is needed for enabling SSL Connections over Lockdown.
PairRecordData only holds a []byte containing the PairRecord data asa serialized Plist.
PlistCodec is a codec for PLIST based services with [4 byte big endian length][plist-payload] based messages.
ReadDevicesType contains all the data necessary to request a DeviceList fromusbmuxd.
ReadPair contains all the Infos necessaryto request a PairRecord from usbmuxd.use newReadPair(udid string) to create one.
No description provided by the author
StartServiceResponse is sent by the phone after starting a service, it contains servicename, port and tells uswhether we should enable SSL or not.
StartSessionResponse contains the information sent by the device as a response to a StartSessionRequest.
UsbMuxConnection can send and read messages to the usbmuxd process to manage pairrecors, listen for device changesand connect to services on the phone.
UsbMuxHeader contains the header for plist messages for the usbmux daemon.
UsbMuxMessage contains header and payload for a message to usbmux.
ValueResponse contains the response for a GetValue or SetValue Request.
# Interfaces
DeviceConnectionInterface contains a physical network connection to a usbmuxd socket.