Renaming
Introduction
Defender for iOS offers renaming obfuscation and control flow flattening for your iOS source code. Defender for iOS alters identifiers such as Swift and Objective-C Types, and variables and breaks the basic control flow block within your source code to obscure logic while maintaining functionality.
Renaming
Defender for iOS, by default, renames source code. To disable renaming functionality, set the command line argument:
Build with renaming command
$ defenderForiOS <path-to-xcode-project> --disable-renaming <{true or false}: Default is false> --scheme <scheme>
Set Renaming in Config file
Renaming:
# Disable renaming set to true. Default is false
disabled: false
Filter Renaming
This will filter Swift and Objective-C object types for renaming.
-F, | -filter-symbols <filter-symbols>
This will skip object types starting with this value.
-F '!FileProcessor'
Control flow
Defender for iOS by default applies control flow flattening source code. To disable control flow flattening functionality, set command line argument:
Build with Control flow command
$ defenderForiOS <path-to-xcode-project> --disable-control-flow <{true or false}: Default is false> --scheme <scheme>
Filter Control flow
This will filter Swift and Objective-C object types for control flow.
--filter-control-flow <filter-control-flow>
This will skip object types starting with this value.
--filter-control-flow !<filter-symbols>*
Example:
--filter-control-flow 'ab*,!abl'