Definition - What does Obfuscator mean?
An obfuscator is a tool used to increase the security of a program by making the code more complicated to read while retaining functionality. The process of obfuscation makes the code harder to hack or hijack because the most important part of the code is so deeply buried (obfuscated) that it is hard to determine the essential working part of the application.
Techopedia explains Obfuscator
To obfuscate means to complicate, confuse or bewilder. Obfuscating or wrapping is the process of hiding code. An obfuscator is useful when it is required to hide from users the critical processing part of a program. There are many programming languages responding well to the process of obfuscation, including C, C++ and Perl.
The process of reverse-engineering is used by programmers who have the ability to disassemble a program in order to perform maintenance on it - obfuscation is an attempt to prevent that. Slicing is a type of reverse-engineering.