bagbak
April 14, 2026 · View on GitHub
Yet another frida based App decryptor. Requires jailbroken iOS device and frida.re
Tested on iOS 15 (Dopamine) and iOS 16 (palera1n).
The name of this project doesn't have any meaning. I was just listening to that song while typing.
Prerequisites
Note: bagbak@5 requires frida@17. If your frida-server is v16, use npm install -g bagbak@4 instead.
On device
On desktop
- node.js.
npm install -g bagbak
Usage
bagbak [bundle id or name]
Options:
-l, --list list apps
-j, --json output as json (only works with --list)
-U, --usb connect to USB device (default)
-R, --remote connect to remote frida-server
-D, --device <uuid> connect to device with the given ID
-H, --host <host> connect to remote frida-server on HOST
-d, --debug enable debug output
-o, --output <output> ipa filename or directory to dump to
--remove-keys <keys> Info.plist keys to remove (comma-separated)
-h, --help display help for command
Dump modes (second argument):
all(default) — full IPA with all binaries decryptedmain(alias:app) — decrypt main app binary onlyextensions(aliases:ext,exts) — decrypt extension binaries onlybinaries(aliases:bin,executables) — decrypt all binaries, output as zip
Environments variables:
DEBUG=1enable debug output for troubleshooting
Example:
bagbak -lto list all appsbagbak com.google.chrome.iosto dump app tocom.google.chrome.ios-[version].ipabagbak com.google.chrome.ios mainto dump only the main binarybagbak --remove-keys UISupportedDevices com.google.chrome.iosto remove device restrictions from Info.plist