Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetBinaryInApp ¶
GetBinaryInApp returns the binary path of the given .app
Types ¶
type AppInfo ¶
type AppInfo struct { BuildMachineOSBuild string `plist:"BuildMachineOSBuild,omitempty"` CFBundleDevelopmentRegion string `plist:"CFBundleDevelopmentRegion,omitempty"` CFBundleDocumentTypes []any `plist:"CFBundleDocumentTypes,omitempty"` CFBundleExecutable string `plist:"CFBundleExecutable,omitempty"` CFBundleIconFile string `plist:"CFBundleIconFile,omitempty"` CFBundleIconName string `plist:"CFBundleIconName,omitempty"` CFBundleIdentifier string `plist:"CFBundleIdentifier,omitempty"` CFBundleInfoDictionaryVersion string `plist:"CFBundleInfoDictionaryVersion,omitempty"` CFBundleName string `plist:"CFBundleName,omitempty"` CFBundlePackageType string `plist:"CFBundlePackageType,omitempty"` CFBundleShortVersionString string `plist:"CFBundleShortVersionString,omitempty"` CFBundleSignature string `plist:"CFBundleSignature,omitempty"` CFBundleSupportedPlatforms []string `plist:"CFBundleSupportedPlatforms,omitempty"` CFBundleURLTypes []struct { CFBundleTypeRole string `plist:"CFBundleTypeRole,omitempty"` CFBundleURLIconFile string `plist:"CFBundleURLIconFile,omitempty"` CFBundleURLName string `plist:"CFBundleURLName,omitempty"` CFBundleURLSchemes []string `plist:"CFBundleURLSchemes,omitempty"` } `plist:"CFBundleURLTypes,omitempty"` CFBundleVersion string `plist:"CFBundleVersion,omitempty"` DTCompiler string `plist:"DTCompiler,omitempty"` DTPlatformBuild string `plist:"DTPlatformBuild,omitempty"` DTPlatformName string `plist:"DTPlatformName,omitempty"` DTPlatformVersion string `plist:"DTPlatformVersion,omitempty"` DTSDKBuild string `plist:"DTSDKBuild,omitempty"` DTSDKName string `plist:"DTSDKName,omitempty"` DTXcode string `plist:"DTXcode,omitempty"` DTXcodeBuild string `plist:"DTXcodeBuild,omitempty"` LSApplicationCategoryType string `plist:"LSApplicationCategoryType,omitempty"` LSMinimumSystemVersion string `plist:"LSMinimumSystemVersion,omitempty"` LSUIElement bool `plist:"LSUIElement,omitempty"` MinimumOSVersion string `plist:"MinimumOSVersion,omitempty"` NSHumanReadableCopyright string `plist:"NSHumanReadableCopyright,omitempty"` NSMainNibFile string `plist:"NSMainNibFile,omitempty"` NSPrincipalClass string `plist:"NSPrincipalClass,omitempty"` NSSupportsAutomaticGraphicsSwitching bool `plist:"NSSupportsAutomaticGraphicsSwitching,omitempty"` NSUbiquitousDisplaySet string `plist:"NSUbiquitousDisplaySet,omitempty"` NSUserActivityTypes []string `plist:"NSUserActivityTypes,omitempty"` NSUserNotificationAlertStyle string `plist:"NSUserNotificationAlertStyle,omitempty"` NSUserNotificationAlertBody string `plist:"NSUserNotificationAlertBody,omitempty"` UTExportedTypeDeclarations []any `plist:"UTExportedTypeDeclarations,omitempty"` }
AppInfo is the Info.plist object found in .app files https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009248-SW1
func ParseAppInfo ¶
ParseAppInfo parses the .app/Info.plist
type AssetDataInfo ¶
type AssetDataInfo struct { ActualMinimumSystemPartition int `plist:"ActualMinimumSystemPartition,omitempty" json:"actual_minimum_system_partition,omitempty"` Build string `plist:"Build,omitempty" json:"build,omitempty"` DeviceClass string `plist:"DeviceClass,omitempty" json:"device_class,omitempty"` HardwareModel string `plist:"HardwareModel,omitempty" json:"hardware_model,omitempty"` MinimumSystemPartition int `plist:"MinimumSystemPartition,omitempty" json:"minimum_system_partition,omitempty"` PackageVersion string `plist:"PackageVersion,omitempty" json:"package_version,omitempty"` ProductType string `plist:"ProductType,omitempty" json:"product_type,omitempty"` ProductVersion string `plist:"ProductVersion,omitempty" json:"product_version,omitempty"` RSEPDigest []byte `plist:"RSEPDigest,omitempty" json:"rsep_digest,omitempty"` RSEPTBMDigests []byte `plist:"RSEPTBMDigests,omitempty" json:"rseptbm_digests,omitempty"` RequiredSpace int `plist:"RequiredSpace,omitempty" json:"required_space,omitempty"` ReserveFileAware bool `plist:"ReserveFileAware,omitempty" json:"reserve_file_aware,omitempty"` SEPDigest []byte `plist:"SEPDigest,omitempty" json:"sep_digest,omitempty"` SEPTBMDigests []byte `plist:"SEPTBMDigests,omitempty" json:"septbm_digests,omitempty"` SizeArchiveRoot int `plist:"SizeArchiveRoot,omitempty" json:"size_archive_root,omitempty"` SizePatchedBinaries int `plist:"SizePatchedBinaries,omitempty" json:"size_patched_binaries,omitempty"` SizePatchedBinariesSnapshot int `plist:"SizePatchedBinaries-Snapshot,omitempty" json:"size_patched_binaries_snapshot,omitempty"` SystemPartitionPadding map[string]int `plist:"SystemPartitionPadding,omitempty" json:"system_partition_padding,omitempty"` SystemUpdatePathMap map[string]string `plist:"SystemUpdatePathMap,omitempty" json:"system_update_path_map,omitempty"` SystemVolumeSealingOverhead int `plist:"SystemVolumeSealingOverhead,omitempty" json:"system_volume_sealing_overhead,omitempty"` TargetUpdate string `plist:"TargetUpdate,omitempty" json:"target_update,omitempty"` }
AssetDataInfo AssetData/Info.plist object found in OTAs
func ParseAssetDataInfoPlist ¶
func ParseAssetDataInfoPlist(data []byte) (*AssetDataInfo, error)
ParseBuildManifest parses the AssetData/Info.plist file from an OTA
type BuildManifest ¶
type BuildManifest struct { BuildIdentities []buildIdentity `plist:"BuildIdentities,omitempty" json:"build_identities,omitempty"` ManifestVersion int `plist:"ManifestVersion,omitempty" json:"manifest_version,omitempty"` ProductBuildVersion string `plist:"ProductBuildVersion,omitempty" json:"product_build_version,omitempty"` ProductVersion string `plist:"ProductVersion,omitempty" json:"product_version,omitempty"` SupportedProductTypes []string `plist:"SupportedProductTypes,omitempty" json:"supported_product_types,omitempty"` }
BuildManifest is the BuildManifest.plist object found in IPSWs/OTAs
func ParseBuildManifest ¶
func ParseBuildManifest(data []byte) (*BuildManifest, error)
ParseBuildManifest parses the BuildManifest.plist
func (*BuildManifest) GetBootLoaders ¶
func (b *BuildManifest) GetBootLoaders() map[string][]string
func (*BuildManifest) GetKernelCaches ¶
func (b *BuildManifest) GetKernelCaches() map[string][]string
func (*BuildManifest) GetKernelForModel ¶
func (b *BuildManifest) GetKernelForModel(model string) []string
func (*BuildManifest) String ¶
func (b *BuildManifest) String() string
type IdentityInfo ¶
type IdentityInfo struct { BuildNumber string `json:"build_number,omitempty"` CodeName string `plist:"BuildTrain,omitempty" json:"code_name,omitempty"` DeviceClass string `json:"device_class,omitempty"` FDRSupport bool `json:"fdr_support,omitempty"` MinimumSystemPartition int `json:"minimum_system_partition,omitempty"` MobileDeviceMinVersion string `json:"mobile_device_min_version,omitempty"` OSVarContentSize int `json:"os_var_content_size,omitempty"` RestoreBehavior string `json:"restore_behavior,omitempty"` SystemPartitionPadding map[string]int `json:"system_partition_padding,omitempty"` Variant string `json:"variant,omitempty"` VariantContents map[string]string `json:"variant_contents,omitempty"` }
func (IdentityInfo) String ¶
func (i IdentityInfo) String() string
type IdentityManifest ¶
type IdentityManifest struct { Digest []byte `json:"digest,omitempty"` Name string `plist:"Name,omitempty" json:"name,omitempty"` BuildString string `plist:"BuildString,omitempty" json:"build_string,omitempty"` Info map[string]any `plist:"Info,omitempty" json:"info,omitempty"` Trusted bool `json:"trusted,omitempty"` EPRO bool `plist:"EPRO,omitempty" json:"epro,omitempty"` ESEC bool `plist:"ESEC,omitempty" json:"esec,omitempty"` }
func (IdentityManifest) String ¶
func (m IdentityManifest) String() string
type IdentityManifestInfo ¶
type IdentityManifestInfo struct { IsFTAB bool `json:"is_ftab,omitempty"` IsFUDFirmware bool `plist:"IsFUDFirmware,omitempty" json:"is_fud_firmware,omitempty"` IsFirmwarePayload bool `plist:"IsFirmwarePayload,omitempty" json:"is_firmware_payload,omitempty"` IsLoadedByiBoot bool `json:"is_loaded_byi_boot,omitempty"` IsLoadedByiBootStage1 bool `json:"is_loaded_byi_boot_stage_1,omitempty"` IsiBootEANFirmware bool `json:"isi_boot_ean_firmware,omitempty"` IsiBootNonEssentialFirmware bool `json:"isi_boot_non_essential_firmware,omitempty"` Path string `plist:"Path" json:"path,omitempty"` Personalize bool `json:"personalize,omitempty"` RestoreRequestRules []any `json:"restore_request_rules,omitempty"` }
type OTAInfo ¶
type OTAInfo struct { CFBundleIdentifier string `plist:"CFBundleIdentifier,omitempty" json:"cf_bundle_identifier,omitempty"` CFBundleInfoDictionaryVersion string `plist:"CFBundleInfoDictionaryVersion,omitempty" json:"cf_bundle_info_dictionary_version,omitempty"` CFBundleName string `plist:"CFBundleName,omitempty" json:"cf_bundle_name,omitempty"` CFBundleShortVersionString string `plist:"CFBundleShortVersionString,omitempty" json:"cf_bundle_short_version_string,omitempty"` CFBundleVersion string `plist:"CFBundleVersion,omitempty" json:"cf_bundle_version,omitempty"` MobileAssetProperties types.Asset `plist:"MobileAssetProperties,omitempty" json:"mobile_asset_properties,omitempty"` }
OTAInfo Info.plist object found in OTAs
func ParseOTAInfo ¶
ParseOTAInfo parses the Info.plist file from an OTA
type Plists ¶
type Plists struct { Type string `json:"type,omitempty"` *BuildManifest `json:"build_manifest,omitempty"` *Restore `json:"restore,omitempty"` *AssetDataInfo `json:"asset_data_info,omitempty"` *OTAInfo `json:"ota_info,omitempty"` }
Plists IPSW/OTA plists object
func ParseZipFiles ¶
ParseZipFiles parses plists in remote ipsw zip
func (*Plists) GetDeviceForBoardConfig ¶
func (*Plists) GetKernelType ¶
type Restore ¶
type Restore struct { DeviceMap []restoreDeviceMap `plist:"DeviceMap,omitempty"` ProductBuildVersion string `plist:"ProductBuildVersion,omitempty"` ProductVersion string `plist:"ProductVersion,omitempty"` SupportedProductTypeIDs map[string][]int `plist:"SupportedProductTypeIDs,omitempty"` SupportedProductTypes []string `plist:"SupportedProductTypes,omitempty"` SystemRestoreImageFileSystems map[string]string `plist:"SystemRestoreImageFileSystems,omitempty"` }
Restore is the Restore.plist object found in IPSWs/OTAs
func ParseRestore ¶
ParseRestore parses the Restore.plist