Ionic bonding. 1  A cation is a positively charged ion. It is formed when an atom of neutral charge loses one or more electrons. 2  An anion is a negatively charged ion. It is formed when an atom of neutral charge gains one or more electrons.
Obfuscation is the practice of making something difficult to understand. Programming code is often obfuscated to protect intellectual property and prevent an attacker from reverse engineering a proprietary software program.
Another reason for obfuscating code is to prevent it from being attacked. Programs written in software languages that are compiled, such as C or C++ lend themselves to obfuscation. Unfortunately, malicious code writers who want to hide or disguise their code's true purpose also use obfuscation to prevent their malware from being detected by signature-based antimalware tools. Deobfuscation techniques, such as program slicing, can sometimes be used to reverse engineer obfuscation.