Obfuscation (software)

The term Obfuscator (English obfuscate " darken ", " confusing " to German Quelltextverschleierer ) refers to a means of concealing the source code. It is used primarily to protect programs from reverse engineering. To this end, from a well- readable and comprehensible code - usually using specially developed tools for it - a heavy human readable form generated, but which is executed by the processing machine about the same speed and the same functionality as the original code exercises.

Properties

A Obfuscator has the functionality of the original program received and should be delivered as a result, a program that is not run much slower than the original program.

A side effect may, depending on the nature of the code, also the reduction in the memory requirement, such as by renaming a long identifier into shorter. This is especially advantageous for the development of application programs for mobile devices with small memory capacity or processing power.

The change of a program with an obfuscator usually leads to the fact that the result code is hard to debug, because the subsequent assignment of a source of error in the converted code to its counterpart in the original code ( for the purpose of more accurate error analysis) can be very time consuming if not impossible.

Demarcation

An obfuscator is not an application of the so-called steganography and cryptography, since the obfuscator only the understanding of the people is the hurdle, but not in formal terms to the exporting machine or, for example, a decompiler.

Examples of methods of code obfuscation

  • A one-dimensional array can be split into several one-dimensional arrays
  • A one-dimensional array can be extended into a multidimensional array
  • A multi-dimensional array can be shrunk into a one-dimensional array
  • Two or more one-dimensional arrays can be combined into a one-dimensional array.

Programs

Windows Script Encoder

To cover various scripts such as JScript, VBScript, and ASP files in particular, Microsoft recommends that you use the Windows Script Encoder. In the event of a compromise of the web server, the attacker should not be able to understand how the ASP application works. Meanwhile, there are decoder to make the obfuscation reversed.

Java bytecode

For obfuscating Java bytecode, there are a number of code obfuscators. These are: bb_mug, code Shield, DashO Jarg, Java Guard, JCloak jmangle, JOBE, Jode, JShrink, Marvin, ProGuard, Sandsmark, RetroGuard, Smokescreen, yGuard and Zelix Klass master.

196032
de