- 21 Feb 2025
- 1 Minute à lire
- Impression
- SombreLumière
- PDF
Basic Usage
- Mis à jour le 21 Feb 2025
- 1 Minute à lire
- Impression
- SombreLumière
- PDF
The Shielding Tool does not invoke IP Protection Pro by default. To enable the Jigsaw engine’s protections on your libraries, you must add the appropriate entries to a Shielding Tool rules file. The rules file is typically named rules.cfg and is applied in the following manner:
java -jar Shielder.jar <app file> --rules rules.cfg <other options>
In the rules.cfg file, a Jigsaw configuration looks like the following example:
jigsawConfiguration "myLibConfig" {
# Use a fixed seed
"seed": 865311
}
protect:myLibConfig "lib/*/libMyLib.so";
A named configuration is defined with the jigsawConfiguration keyword, and the configuration is applied to a file (or files) with the syntax protect:myConfig "files";. The above example uses a wildcard (*) so that the configuration is applied to libMyLib.so in any architecture folder. With additional configurations, you could apply separate rules for different architectures and/or different libraries.
Check the output from the Shielding Tool at protection time to ensure that the libraries that you intended to protect were, in fact, processed by Jigsaw.
iOS Considerations
When protecting an IPA, keep in mind that an IPA file usually consists of the following files:
Files included in an IPA file | |
File Pattern | Description |
---|---|
Payload/MyApp.app/MyApp | Main app executable. |
Payload/MyApp.app/Frameworks/MyCustom.framework/MyCustom | App framework library. |
Payload/MyApp.app/Frameworks/*.dylib | System frameworks. |
Typically, you would want to protect the main app executable and optionally one or more custom frameworks. It is not necessary (and possibly undesirable) to protect system frameworks.
Jigsaw protections cannot be applied if the Shielding Tool is integrated into an Xcode build phase.