diff --git a/ipsw_parser/build_identity.py b/ipsw_parser/build_identity.py index 103d9bc..3bd3bde 100644 --- a/ipsw_parser/build_identity.py +++ b/ipsw_parser/build_identity.py @@ -209,8 +209,15 @@ def extract(self, output: Path, pem_db: Optional[str] = None) -> None: kernel_output = _extract_kernelcache(self, output / "System/Library/Caches/com.apple.kernelcaches") sandbox_profiles = output / "sandbox/profiles" - _decode_sandbox_profiles(kernel_output, sandbox_profiles) - _decode_sandbox_profiles(kernel_output, sandbox_profiles / "protobox", profile_type="protobox") + + try: + _decode_sandbox_profiles(kernel_output, sandbox_profiles) + except ProcessExecutionError as e: + logger.error("Failed to extract sandbox profiles: %s", e) + try: + _decode_sandbox_profiles(kernel_output, sandbox_profiles / "protobox", profile_type="protobox") + except ProcessExecutionError as e: + logger.error("Failed to extract sandbox profiles: %s", e) for cryptex in ("App", "OS"): name = {