This method is usually used in applications with conditional program orientation.
The process reorders the sequences of instructions of the original code. Iterative code obfuscation is a popular technique, which involves applying obfuscation techniques multiple times. To achieve data protection, developers can use two different techniques. The first one involves encrypting the data within the program. The second method reorders the data without altering the behavior of the program. Generally, the obfuscator uses unprintable characters to hide the program's contents.
In this case, the obfuscated version is influenced by the dynamic analysis, which causes the obfuscated calling relationship to change. Also, the control flow is critical to determining the intent of the program. Moreover, it improves the resistance of the software against similarity analysis techniques.
It is important to remember that obfuscation algorithms affect the program's semantics as well as the calling relationship. Another technique is a technique called the bogus function calling graph. This method changes the called function before running the target program. If the control flow is not understood, it is difficult to determine the true content of the message.COOPS starts from the semantics of the program and transforms it into an interfunction call flow graph. Because of this, the original version is difficult to interpret with the human eye. This change is very effective because it enables reverse analyzers to face more abstract functional units. Another technique is the COOPS (Control Flow Oriented Obfuscation Scheme), which changes the control flow structure of the program. However, this method is easily susceptible to dynamic analysis of the program.