Skip to content

Instantly share code, notes, and snippets.

@n0mi1k
Last active April 20, 2024 14:09
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save n0mi1k/d5c440589025d9da770dca1cffa91d92 to your computer and use it in GitHub Desktop.
Save n0mi1k/d5c440589025d9da770dca1cffa91d92 to your computer and use it in GitHub Desktop.
.IPA file extracter for Apple Configurator
import os
import shutil
"""
Steps to retrieve the IPA file from the Configurator app:
1. Install Apple Configurator from the Mac App Store and sign in
2. Connect your iOS device to your Mac
3. Select "Add > Apps..." and search for the app you want to install, click "Add"
4. The newer Apple Configurator deletes the IPA after installing it, so you'll need to use this tool to grab it
5. Run this script and wait for the app to be installed
NOTE: Remember to modify appsDir and ipaDir accordingly below
"""
appsDir = "/Users/user/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps" # Configurator app directory
ipaDir = "/Users/user/Desktop/IPAs" # Directory to extract to
if not os.path.exists(ipaDir):
os.makedirs(ipaDir)
print("[+] Waiting for new IPA...")
ipaList = []
while True:
for root, dirs, files in os.walk(appsDir):
for file in files:
if file.endswith(".ipa"):
if os.path.join(root, file) in ipaList:
continue
ipaPath = os.path.join(root, file)
print(ipaPath)
ipaList.append(ipaPath)
shutil.copy2(ipaPath, os.path.join(ipaDir, file))
print(f"[+] Extracted new IPA {file} to {ipaDir}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment