public final class Hardening
- Object
- Hardening
Read-only reporting of whether this build was hardened, and with what.
App Hardening is an Enterprise, build-server transform: it renames classes, encrypts strings and obfuscates control flow in the shipped binary across every port. This class does not perform any of that – it only reports what the build server stamped into the app, so app code (and the crash reporter) can tell an honestly-hardened build apart from an unhardened one such as a local or simulator build.
The values are stamped as display properties by the build; in the simulator
and in local builds they report false / "off", because those are never
obfuscated.
Methods
public static boolean isHardened() | Whether the shipped binary was hardened. |
public static String getLevel() | The hardening level the build shipped with. |
public static String getMappingId() | The id of the obfuscation mapping this build was hardened with, matching the mapping the build server retained for crash symbolication. |
Inherited methods
Method details
isHardened
public static boolean isHardened()Whether the shipped binary was hardened. Always
false in the simulator and in
local or source-project builds, which are never obfuscated.Returns
true if the build server applied hardening to this build
getLevel
public static String getLevel()The hardening level the build shipped with.
Returns
one of
"off", "standard", "aggressive", "paranoid"getMappingId
public static String getMappingId()The id of the obfuscation mapping this build was hardened with, matching the mapping the
build server retained for crash symbolication. Empty when the build was not hardened.
Returns
the mapping id, or an empty string