blacktop / ipsw

iOS/macOS Research Swiss Army Knife
https://blacktop.github.io/ipsw
MIT License
1.65k stars 126 forks source link

ipsw symbolicate: isCorpse is typed int (instead of bool) on iOS 15+ ips #511

Open TrungNguyen1909 opened 4 days ago

TrungNguyen1909 commented 4 days ago

What happened?

On iOS 15+, the isCorpse field is an int:

...
"isCorpse" : 1, 
...

However, the protocol defined in the ipsw package seems to define it as a bool instead.

Output:

How can we reproduce this?

  1. Retrieve an ips file from iOS15+ using idevicecrashreport or the Settings app.
  2. 
    ❯ ipsw symbolicate crashes/duetexpertd-2024-05-15-113431.ips                                                                                                                  
    Error: failed to parse IPS file: json: cannot unmarshal number into Go struct field IPSPayload.isCorpse of type bool                                                               
    Usage:                                                                                                                                                                             
    ipsw symbolicate <CRASHLOG> [IPSW|DSC] [flags]                                                                                                                                   

Aliases:
symbolicate, sym

Flags:
-d, --demangle Demangle symbol names
-h, --help help for symbolicate
-u, --unslide Unslide the crashlog for easier static analysis

Global Flags:
--color colorize output
--config string config file (default is $HOME/.config/ipsw/config.yaml)
--no-color disable colorize output
-V, --verbose verbose output

⨯ failed to parse IPS file: json: cannot unmarshal number into Go struct field IPSPayload.isCorpse of type bool

[duetexpertd-2024-05-15-113431.ips.tar.gz](https://github.com/user-attachments/files/16112716/duetexpertd-2024-05-15-113431.ips.tar.gz)

### ipsw version

```bash
Version: 3.1.480, BuildCommit: 2fffe45e5437a6f0ac4527edc4336fb80d853bbb

Search

Code of Conduct

Additional context

No response

blacktop commented 4 days ago

Thanks for letting me know! This is one of those super annoying AAPL things where they sometimes use bool true/false and sometimes int 1/0 😩

blacktop commented 4 days ago

this should be fixed in the latest version