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