Reverse engineering or software reversing, is a set of techniques use to analyze closed source software in order to extract seemingly unavailable information, e.g. algorithms, hidden access passwords (e.g. to databases), information on how certain files are encrypted, and so on.
Reverse engineering is used for example in the fields of software analysis for potential security vulnerabilities (exploitation), malware analysis (antivirus developers) or software and games localization.







