About anti-compilation and preventing anti-compilation
Anti-compilation
Internal purchase hack
- iOS apps need to be one of the anti-compilation risks: Plug-in (jailbreak only), itools tool replacement file (common for archive hack), eight-door artifact modification
Cyber security Risks
- iOS apps need anti-compilation risk: Intercept network requests, crack communication protocols and impersonate client logins, forge user behavior, and harm user data
application function Patch hack
- iOS apps need to be anti-compilation risk three: Patch the app by sending a return value using Flex patch Software
Source code Security Risk
- iOS apps need to be anti-compilation risk four: reverse-assemble the IPA code by using disassembly tools such as Ida, resulting in the core code logic leaking and being modified, affecting application security
In the face of the risks of these iOS apps, how iOS apps can prevent them from being recompiled, see the iOS app encryption technology below
iOS app encryption anti-decompile technology
Local Data encryption
- iOS app anti-decompile encryption: Encrypt nsuserdefaults,sqlite storage file data, protect account numbers and key information
URL-encoded encryption
- iOS app anti-decompile encryption technology: Encode and encrypt URLs that appear in your program to prevent URLs from being statically parsed
Network Transmission Data encryption
- iOS application anti-decompile encryption technology three: to the client to transmit data encryption scheme, effectively prevent interception through the network interface to obtain data
Method Body, method name advanced obfuscation
- iOS application anti-decompile encryption technology four: The application's method name and method body to confuse, to ensure that the source code is reversed after the inability to parse
Program structure mix-and-discharge encryption
- iOS application anti-decompile encryption technology five: The application logical structure is scrambled to ensure that the source readability is minimized
Here is the comparison before and after the iOS app encryption anti-decompile
iOS app anti-compilation summary
From the above research, iOS app developers must pay attention to the iOS app anti-compilation technology research, do not let iOS app repeat the mistakes of Android app, iOS app anti-compilation!
Anti-compilation process, is a virtual execution of the environment, see the program executed those instructions, translated into the corresponding statement of the general process is to first put the program into the data segment, the virtual operating environment, generally this allocation file head, from the record instruction program data section, loaded into the virtual environment, record instructions, encountered jump instructions, press into the stack, form a tree structure (see Data structure) and traverse the instructions of each node. Form a complete program
iOS development--loading technology picks & about anti-compilation and anti-compilation