IPSW-DIFF(1)

NAME
ipsw-diff - Diff IPSWs, OTAs, or patched OTA DMG directories

SYNOPSIS
ipsw diff [flags]

DESCRIPTION
Diff IPSWs, OTAs, or patched OTA DMG directories

OPTIONS
--allow-list=[]
    Filter MachO sections to diff (e.g. TEXT.text)

--block-list=[]
    Remove MachO sections to diff (e.g. TEXT.info_plist)

--ent[=false]
    Diff MachO entitlements

--feat[=false]
    Diff feature flags

--files[=false]
    Diff files

--fw[=false]
    Diff other firmwares

-h, --help[=false]
    help for diff

--html[=false]
    Output diff as HTML

--insecure[=false]
    Allow insecure connections when fetching AEA keys

--json[=false]
    Output diff as JSON

-k, --kdk=[]
    Path to KDKs to diff

--key-db=""
    Path to AEA keys JSON database (for OTA diffs)

--key-val=""
    Base64 encoded AEA symmetric encryption key (for OTA diffs)

--launchd[=false]
    Diff launchd configs

--low-memory[=false]
    Use disk caching to reduce RAM usage

-m, --markdown[=false]
    Output diff as Markdown

-o, --output=""
    Folder to save diff output

-s, --signatures=""
    Path to symbolicator signatures folder

--starts[=false]
    Diff MachO function starts

--strs[=false]
    Diff MachO cstrings

-t, --title=""
    Title of the diff

OPTIONS INHERITED FROM PARENT COMMANDS
--color[=false]
    colorize output

--config=""
    config file (default is $HOME/.config/ipsw/config.yaml)

--no-color[=false]
    disable colorize output

-V, --verbose[=false]
    verbose output

EXAMPLE
    # Diff two IPSWs
    ❯ ipsw diff <old.ipsw> <new.ipsw> --fw --launchd --output <output/folder> --markdown
    # Diff two OTAs (darwin only, requires full OTAs)
    ❯ ipsw diff <old.ota> <new.ota> --output <output/folder> --markdown
    # Diff two OTAs with AEA key database
    ❯ ipsw diff <old.ota> <new.ota> --key-db keys.json --output <output/folder> --markdown
    # Diff two ota patch rsr output directories
    ❯ ipsw diff <old_rsr_dir> <new_rsr_dir> --files --output <output/folder> --markdown
    # Diff two IPSWs with KDKs
    ❯ ipsw diff <old.ipsw> <new.ipsw> --output <output/folder> --markdown
    	--kdk /Library/Developer/KDKs/KDK_15.0_24A5264n.kdk/System/Library/Kernels/kernel.release.t6031
    	--kdk /Library/Developer/KDKs/KDK_15.0_24A5279h.kdk/System/Library/Kernels/kernel.release.t6031

SEE ALSO
ipsw(1)

HISTORY
13-May-2026 Auto generated by spf13/cobra