Reverse engineering
The purpose of reverse engineering something is to deeply understand how it works, by deducing its behaviour through assembly code or other techniques.
This page is related to some general concepts I’ve learnt and some useful material.
Books
A core book I’ve found so useful is:
- Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
It is a must, and even if its content is old, it is considered (personally too) the best book on malware analysis.
Courses
I haven’t seen a lot courses on reversing malware. Take a look to lena151.
Concepts
In a non-mandatory fashion, here’s a list of core concepts you need to understand better:
- General ASM Notes and Recognizing ASM Code
- a general Workflow to analyze any malware
- Basic Static Techniques
- Basic Dynamic Analysis
- Packed Malware and PE
To better use IDA, give a look to IDA Cheatsheet.