Research and development of software obfuscation methods.
To protect the binary code from analysis are used by many different methods, one of them - obfuscation transformations. Such transformations are usually made with automatic obfuscators, which takes as input the source code or binary file, and output provide an obfuscated executable program.
The best choice, allows to realize transformations, that will be resistant to methods of reverse engineering, create obfuscating compiler based on one of a existing compiler infrastructures. On the one hand, it allows obfuscate the program, with full information about programm at all stages of the compilation, on the other - allowing you to focus on the development of algorithms for protection, rather than the creation of the required infrastructure. Transformations can be performed during the processing of the compiler intermediate representation on machine-independent level, what allows support for multiple architectures.