The table below summarizes the released versions of Archaeology, and what
fixes and enhancements were made to each version. You can determine the
version you have installed from Archaeology > About Archaeology.
Release History for Archaeology
Released on August 13, 2023
- Allows decoding of Code Signing Requirements found within a Code Signature
Security::SuperBlob — most commonly a single “designated”
requirement within “Internal Requirements”. Archaeology decodes the requirement into an
equivalent Boolean expression, akin to the one shown by
csreq(1), but with
syntax highlighting and comments that give more information (such as the names of certificate fields otherwise
identified by their OIDs). You can evaluate the requirement against a selected app or other signed code,
and see the results for individual terms of the expression.
- Allows decoding of Launch Constraints found within
a Code Signature Security::SuperBlob. These constraints are new-ish to
macOS 14 (Sonoma), and are stored in the code signature (using Xcode 15) in a BER-encoded ASN.1 format.
Archaeology decodes a launch constraint into a bespoke-but-easier-to-read Boolean expression. You can
evaluate the constraint against a selected app or other signed code, and see the results for individual
terms of the expression. If you prefer, use Go > Decode Item As > BER-encoded ASN.1
to see the underlying representation of the constraint instead.
- When the root of a BER-encoded ASN.1 appears to be a
CoreEntitlements structure — used for both
DER-encoded Entitlements and
Launch Constraints —
you can select the root item and click Show As Dictionary to see it converted
into property list form.
- For a bundle that is code-signed but does not have a Mach-O main executable (e.g. a
resource-only plugin or framework), Archaeology now shows all of the individual components
from the _CodeSignature directory, and allows these to be decoded and/or verified much
like their analogs in a Security::SuperBlob context.
- Adds the ability to open an xcframework, letting you examine each of the contained frameworks by platform.
- When viewing a URL Bookmark, you can now attempt resolution of
that bookmark by choosing Go > Resolve URL Bookmark. You can select a number
of different resolution options, but note that the handling of
created by — and thus, scoped to — another app won't necessarily make sense when resolving
- Added an option under Archaeology > Preferences > General to inhibit the
warning dialog when decoding BER-encoded ASN.1 that doesn't have a Universal-class tag at its root.
Normally, Archaeology takes this as a sign that the data might not be ASN.1 at all, and
doesn't decode unless you click Decode Anyway. But if that's annoying,
you can uncheck this. (This only applies when you use the generic Go > Decode Item,
such that Archaeology must deduce what type of data is being decoded. Whenever you tell
Archaeology that you are expecting ASN.1 data, e.g. by using
Go > Decoded Item As > BER-encoded ASN.1, it won't
require a Universal-class root tag, regardless of this preference.)
- When viewing a Cocoa Keyed Archive,
instances now get a more useful string formatting, as long as
Format strings and dates in archives is
enabled in the open options.
- When opening a macOS Installer package (or other xar archive), Archaeology no longer presents
a confusing error if the archive is not signed: instead, it simply shows whatever info is there,
even if that is only the xar TOC digest.
Released on March 22, 2023
- Fixed a problem that caused the Open Download Page button in
Archaeology Preferences > Update to do nothing. If you had
version 1.0 and found your way here, we apologize. We're releasing this minor update
to minimize the number of others who have to do likewise.
Released on March 9, 2023
- Initial release of Archaeology.