Which of the following best describes the purpose of reverse engineering in cybersecurity?
Analyzing software to detect vulnerabilities and understand malicious code
Replacing faulty hardware with new components
Patching software to fix bugs
Documenting application programming interfaces (APIs)