Abstract
Reverse engineering is a fundamental building block in modern security and it empowers cybersecurity professionals to question, analyze and decompose software systems, spot vulnerabilities, and disassemble malicious artifacts. The current survey provides an extensive mapping of the key tools and techniques of the discipline, with special accentuation on their defensive usage. As such, tools are categorized into static, dynamic, and hybrid suites of analysis, which serve a discrete purpose in the analysis, whereas representative examples of the tools are identified and discussed to outline their capabilities, workflows, and deployment scenarios. Besides taxonomy, the paper also explores some of the basic methods like binary inspection, interactive debugging, code decompiling, and behavioural monitoring and illustrates their utility in practice by presenting landmark examples of Stuxnet and WannaCry. It also covers some of the main challenges, such as legal and ethical limitations, the growing obfuscation measures, and more advanced malware, and also predicts emerging trends that include tooling based on machine learning and cloud-native analytic environments. The survey is aimed at being a practical guide to practitioners, researchers and students and provides conceptual and practical understanding of how the changing landscape of reverse-engineering tools and techniques can be navigated to help provide the foundation of modern digital defence. It is also indicative of emergent ideas, including the possibility of machine unlearning, which places the discipline more firmly between the boundaries of AI safety and data-privacy law.