Virtual machines
Drives
Reconnaissance
Enumeration
Web applications
APIs
Cloud
Static analysis
Disassemblers
Debuggers
Decompilers
Program editing tools
Analysis automation programming
Exploitation tools
Exploit development
Assemblers
Compilers
Steganography
Social engineering
Additional hardware
Network
Wireless
Mobile tools
Data exfiltration
Cryptanalysis
Security information and event management
Threat intelligence
Threat hunting
Vulnerability management
Network traffic analysis
Endpoint detection and response
Digital forensics and incident response
Phishing analysis
Malware analysis
Active defence
Translate the instructions of high level language to machine level language.
High level programming languages are easier to understand and more human-readable than machine code.
GNU compiler (gcc) on Linux)
Using Windows Subsystem for Linux with Visual Studio Code