software

App Metadata – A Comprehensive Guide To iOS, Android, And UWP Application Metadata Extraction

This package has been deprecated, and is not being maintained by MSFT anymore.

This library helps you retrieve the most frequently extracted metadata and icons within iOS, Android and UWP applications.

Usage

Import

import { Extract } from 'app-metadata';

usage

let results = await Extract.run(pathName);

Results

The library will return the information most relevant for the supported platforms. For a better understanding of the details retrieved refer to the tables below.

iOS

Supported extension: .ipa
PropertyDescription
icon
iconName
languagesArray of language strings compiled from .lproj files
hasProvisioningShould always be true since IPA will contain a provisioning profile
appex_provisioning_profilesArray of all other provisioning profiles included in the metadata
  • from Plist (info.plist):
PropertyDescription
displayNameCFBundleDisplayName (The user-visible name of the bundle) or CFBundleName (short bundle name)
uniqueIdentifierCFBundleIdentifier (reverse DNS that identifies a project by concatenating the company identifier with the product name)
versionCFBundleShortVersionString (The release-version-number string for the bundle)
buildVersionCFBundleVersion (The build-version-number string for the bundle)
executableNameCFBundleExecutable (Name of the bundle’s executable file)
minimumOsVersionMinimumOSVersion or LSMinimumSystemVersion
deviceFamilyUIdeviceFamily
  • from Provisioning Profile (embedded.mobileprovision):
PropertyDescription
pathNamePath of the provisioning profile from inside of the IPA
mobileProvisionFileContentProvisioning profile content
teamIdentifierEntitlements[“com.apple.developer.team-identifier”]
profileTypeIf data.ProvisionedDevices exists, “adhoc”. Otherwise “enterprise”
expiredAtexpired_at or ExpirationDate
idNameAppIDName
nameName
UniqueDeviceIdentifierListProvisionedDevices
deviceFamilyPlatform

For more information click here.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

2 days ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

2 weeks ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

2 weeks ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

2 weeks ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

2 weeks ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

2 weeks ago