RELEASE NOTES ------------------------------------------------------------------------------ Shield for iOS - Version 6.0.0 - 2023-09-13 Highlights: ------------------------------------------------------------------------------ * Added new features: * Developer mode detection * App Attestation * IP Protection/Jigsaw * Updated supported iOS/iPadOS versions: * Support for iOS17 RC * Dropped support for iOS 11 * Deprecated: * Legacy configuration options * Removed bitcode obfuscation * General stability and performance improvements. * Read below for full details. Supported platforms: ------------------------------------------------------------------------------ - Shield is supported on iOS 12.0 and up to iOS/iPadOS 16. - This release is compatible with iOS/iPadOS 17 RC. - The Shielder tool is supported on 64-bit Java 17 on Windows 10, Mac OSX (10.9+) and Ubuntu Linux LTS 20.04 or 22.04. Shielder requires a macOS system in order to sign applications. - Shield supports Xcode 12 and higher. Promon recommends using Xcode version 14.3.1 for now. New Features: ------------------------------------------------------------------------------ * Developer mode detection (Resolves issue SHIOS-2055) In iOS 16, Apple has introduced something called developer mode. This developer mode needs to be enabled on a device in case a user wants to install development signed apps and wants to debug apps on a given device. By default, developer mode is disabled which results in higher security for normal users. Now ShieldSDK introduces new options for the config file: my-config.xml: ``` ``` By default, developer mode detection is enabled but can be configured. * Added new feature App Attestation, which can be used to verify on a server-side that an app with Shield is being used on the client side. App Attestation comes with client side APIs that must be used with Shield, and a Java backend implementation which should be integrated server-side. Available for licensed users. * The Jigsaw Binary Protection Engine protects native libraries included in your app. This component provides state-of-the-art code protection techniques embedded directly into your native binaries to prevent reverse engineering and modification. Available for licensed users. * Build Shield library for arm64 simulator (Resolves issue SHIOS-1287) Added support to run shielded app in a simulator on ARM Macs. Deprecations: ------------------------------------------------------------------------------ * Minimum supported version is iOS 12, dropped support for iOS 11 * Removed deprecated config options (Resolves issue SHIOS-2435) The following deprecated config options have been removed: - binaryBindingVersion - enableCodeTracingDetection - exitOnRepackagingURL See Shield_Usage documentation for more details. * Deprecated config options (Resolves issues SHIOS-2135, SHIOS-2368) The following config options are now deprecated: - exitOnDebuggerURL - runtimeLibraryInjectionPreventionMode, the default option is 'non-strict' See Shield_Usage documentation for more details. * Removed bitcode obfuscation (Resolves issue SHIOS-2037) From this release on Shielder no longer supports bitcode-based code obfuscation. The following options have been removed: - '--obfuscate-app' - '--dsym-out' - '--symbol-map' Bugs & Stability Improvements: ------------------------------------------------------------------------------ * Changing the AppMonitor class name if one is already in the app (Resolves issue SHIOS-2410) Shielder renames an internal AppMonitor class name to a random name in case of conflict with your app. * Fixed memory leaks (Resolves issues SHIOS-2399, SHIOS-2406, SHIOS-2407, SHIOS-2455) Improved memory management for long-running applications. * Fixed crash on iPad (Resolves issue SHIOS-2389) Fixed an issue with the binding feature on iOS/iPadOS that can cause a crash during startup in very rare cases. * Fixed crash due to 'symbol not found' (Resolves issue SHIOS-2283) Fixed a problem in Shielder, where the load order of frameworks for the app is rewritten to ensure Shield is always loaded first. In rare cases, this re-ordering could cause problems for some non-weak symbols - which would cause the app to reliably crash when launched. * Improve “Unknown architecture in library” error in Shielder (Resolves issue SHIOS-2093)   Some frameworks may have additional architectures embedded, which are   irrelevant for Shielder, such as the armv7k architecture for older   generations of Apple Watch.   Shielder will no longer complain about such libraries being present in the   application being Shielded. * Fixed signing problem with Cocoapods (Resolves issue SHIOS-2233)   Fixed signing when ShieldSDK is used with the Cocoapod framework as a dependency. * Removed exposed Shield SDK namespace classes when not enabled (Resolves issue SHIOS-2255)   Some third party code may have names which conflicts with a Shield SDK   namespace, for example Secure Local Storage.   This fix removes the SecureLocalStorage namespace from Shield packages where   this API is not enabled. * Delay calls to UIDevice until bindings are restored (Resolves issue SHIOS-2119) In some rare cases an early call to UIDevice during binding restoration can cause a crash. It has been fixed. Known limitations ------------------------------------------------------------------------------ * Blocking of external screens, such as AirPlay does not currently work for apps using UISceneDelegate in iOS 13 and above. * "--shield-all-extensions" does not add Shield to AppClips. * "--shield-all-extensions" This option will add Shield to all extensions from the default Plugins folder. Tested devices: ------------------------------------------------------------------------------ iPhone SE : iOS 17.0 RC iPhone 13 : iOS 16.6.1 iPhone12 : iOS 15.7.1 iPhone 7 (N) : iOS 14.8 iPhone 7 : iOS 13.0 iPhone XR : iOS 13.1.3 iPhone 11 : iOS 13.7 iPhone 8 : iOS 12.4.1 iPhone 6S : iOS 11.4.1 iPhone 5s : iOS 12.5.7 iPod Touch (Jailbroken) : iOS 14.0.1 iPad Gold 6 : 13.2.3 iPad 7 : 14.8 iPad 6 grey : 13.6 Tools: ------------------------------------------------------------------------------ Xcode 14.2 on 12.6.8 (Monterey) (intel Mac) Xcode 14.3.1 and Xcode 15 beta 8 on 13.5.2 (Ventura) (M2 Mac Mini) Xcode 15.0 beta 8 MacOS: ------------------------------------------------------------------------------ BigSur 11.7 (Intel / M1) Ventura 13.5.2 (M2 Mac Mini) Monterey 12.6.8 (Intel Mac) Monterey 13.3.1(a) : (Intel / M2 ) Sonoma 14 beta 7 (M2 Pro)