Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/derekselander/mobdevim
Command line utility that interacts with plugged in iOS devices. Uses Apple's MobileDevice framework
https://github.com/derekselander/mobdevim
apple command-line ios mobiledevice reverse-engineering
Last synced: about 2 months ago
JSON representation
Command line utility that interacts with plugged in iOS devices. Uses Apple's MobileDevice framework
- Host: GitHub
- URL: https://github.com/derekselander/mobdevim
- Owner: DerekSelander
- Created: 2017-12-04T02:58:28.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-02-01T23:30:02.000Z (11 months ago)
- Last Synced: 2024-02-02T00:35:15.817Z (11 months ago)
- Topics: apple, command-line, ios, mobiledevice, reverse-engineering
- Language: Objective-C
- Size: 512 KB
- Stars: 112
- Watchers: 11
- Forks: 26
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mobdevim
**Mobile Device Improved**: Command line utility that interacts with plugged in iOS devices. Uses Apple's MobileDevice framework---
Yet another MobileDevice utility
---
## Installation
1. clone
2. build project
3. Upon build success,` mobdevim` will be placed in **/usr/local/bin**Make sure you have permissions to write to `/usr/local/bin` or else the Xcode build script will fail
---
Alternatively, a precompiled version is available here.
## Commands
```
Name
mobdevim -- (mobiledevice-improved) Interact with an iOS device (compiled Nov 7 2023, 15:50:43)The mobdevim utlity interacts with your plugged in iOS device over USB using Apple's
private framework, MobileDevice.The options are as follows:
-F # List all available connections, or connect to a specific devicemobdevim -F # List all known devices
mobdevim -F 00234 # Connect to first device that has a UDID containing 00234
mobdevim -F\? # Check for devicesmobdevim -U # Prefer connection over USB
mobdevim -W # Prefer connection over WIFI
-f # Get device info to a connected device (defaults to first USB connection)
-g # Get device logs/issues (TODO Broken in 16.5)
mobdevim -g com.example.name # Get issues for com.example.name app
mobdevim -g 3 # Get the 3rd most recent issue
mobdevim -g __all # Get all the logs-l # List app information
mobdevim -l # List all apps
mobdevim -l com.example.test # Get detailed info about app, com.example.test
mobdevim -l com.example.test Entitlements # List "Entitlements" key from com.example.test-r # Remove file
mobdevim -r /fullpath/to/file # removes file (sandbox permitting)
-y # Yoink sandbox content
mobdevim -y com.example.test # Yoink contacts from app
-s # Send content to device (use content from yoink command)
mobdevim -s com.example.test /tmp/com.example.test # Send contents in /tmp/com.example.test to app
-i # Install application (expects path to bundle)
-I # Install/mount a DDI (via Xcode subdir or repos like https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images
mobdevim -I /path/to/ddi.signature /path/to/ddi.dmg # Install DDI
-M # unMount a DDI (via Xcode subdir or repos like https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images
mobdevim -M # Unmount an alreaady mounted dev DDI
-u # Uninstall application, expects bundleIdentifier
mobdevim -u com.example.test # Uninstall app
-w # Connect device to WiFi mode
mobdevim -w # Connect device to wifi for this computer
mobdevim -w uuid_here # Connect device to wifi for UUID
mobdevim -w off # Disable device wifi
mobdevim -w uuid # Display the computer's host uuid-S # Arrange SpringBoard icons
mobdevim -S # Get current SpringBoard icon layout
mobdevim -S /path/to/plist # Set SpringBoard icon layout from plist file
mobdevim -S asshole # Set SpringBoard icon layout to asshole mode
mobdevim -S restore # Restore SpringBoard icon layout (if backup was created)-L # Simulate location (requires DDI)
mobdevim -L 0 0 # Remove location simulation
mobdevim -L 40.7128 -73.935242 # Simulate phone in New York-c # Dump out the console information. Use ctrl-c to terminate
-C # Get developer certificates on device
-p # Display running processes on the device (requiers DDI)
-k # Kill a process (requiers DDI)
TODO -b # Backup device
-P # Display developer provisioning profile info
mobdevim -P # List all installed provisioning profiles
mobdevim -P b68410a1-d825-4b7c-8e5d-0f76a9bde6b9 # Get detailed provisioning UUID info-o # Open application (requires DDI)
mobdevim -o com.reverse.domain # open app
mobdevim -o com.reverse.domain -A "Some args here" -V AnEnv=EnValue -V A=Bmobdevim # open app with launch args and env vars-R # Use color
-Q # Quiet mode, ideal for limiting output or checking if a value exists based upon return status
Environment variables: DSCOLOR - Use color (same as -R)
DSDEBUG - verbose debugging
DSPLIST - Display output in plist form (mobdevim -l com.test.example)
OS_ACTIVITY_DT_MODE - Combine w/ DSDEBUG to enable MobileDevice logging
```
![mobdevim example](https://github.com/DerekSelander/mobdevim/raw/main/media/color_wow.png)