Ios hardening, ios code confusion, ios code confusion tool, ios source code confusion product is a pure offline source code encryption tool, mainly used to protect the core code in the ios project, avoid due to reverse engineering or cracking, resulting in core technology leakage, code execution process is analyzed and other security problems. The encryption tool is similar to a common compiler. It can compile Objective-C, Swift, C, and C++ code into binary code based on the project source code. The difference is that the encryption tool can take security measures such as obfuscation and string encryption for the code during compilation. This prevents attackers from using reverse tools such as IDA Pro to decomcompile binary code, analyze the business code execution process, and further tamper with or steal core technologies.

An overview of the

This article mainly introduces the use of iOS source obfuscating product Xcode plug-in, readers must have iOS development experience, otherwise it may be difficult to use.

Installing a plug-in

V13.0.2-20190703 and previous versions replace the Clang compiler with Xcode -> Toolchains, which can quickly switch compilers in Xcode.

The Xcode plug-in installs the compiler by running the python install.py command, and then uninstalls the compiler by running python uninstal.py. The diagram below:

(Note: If multiple Versions of Xcode exist, change the default path of Xcode in configuration. TXT.)

The installation will prompt you to enter the password, just enter the computer boot password, after the successful installation of Xcode plug-in, there will be Install Success prompt, as shown below:

Importing header files

Copy the kiwiobf.h header file from the include directory into your iOS project and reference it where necessary.

Add the KIWIOBF tag

For functions that need obfuscation protection, add the KIWIOBF tag to tell the compiler that the function needs obfuscation compilation. The diagram below:

Set the parameters

The full compiler has default obfuscation parameters, which can be customized if the requirements are not met

Encryption Parameters

IOS project obfuscation parameters are set in Other C Flags,Other C++ Flags,Other Swift Flags as shown below:

compiling

As with the original process, iOS projects perform builds in Xcode.

Unload the plugin

Xcode plug-in: Execute python uninstall.py to uninstall the compiler.

Competing in the tough iOS market, without mastering and understanding some advantageous technical knowledge, how to compete with others, and how to conquer your interviewer. Those who have done it for three or five years are not necessarily involved in the technical knowledge inside. Maybe what you lack is a summary and a list of interview questions to practice on.

A copy of the interview answer is often asked.

I hope I can help you improve your technology!