This curated list of reverse engineering resources started as awesome-reversing forked from @tylerha97. I have updated some of the resources and will continue to curate into the future. Thanks, for visiting.


Introduction

Welcome to reverse engineering!

Environment

Creating a safe space to hone your skills

Not every file is safe to run in your environment take steps to ensure your machine and network are protected.

Characteristics

What is this thing?

Become accustomed to trying to determine something about the file before you run it.

Static Analysis

Peeking in the medicine cabinet

Be cautious to learn as much as you can before running an unknown executable on your machine.

Dynamic Analysis

Poking the bear

Practice

Do or do not, there is no try

Level-up

Teach a student to fish

Next level

Better practice means better gains

  • Write your own programs in C or C++ then reverse engineer them. This practice has the added effect of making you a better programmer.
  • Compiler Explorer - This nifty tool lets you write out some code in a variety of higher level languages and see them in various compilers in a side-by-side view.
  • Decompiler Explorer - This gem lets you upload a binary and view it side-by-side in multiple decompilers to compare the results.

Are you up for a greater challenge?

Take your experience to the next level

  • Use a tool from a company like 1BitSquared and pull the firmware off of an embedded device and reverse engineer that.
  • 1BitSquared - Tools to read JTAGs and interface with embedded devices.

Resources

Where to go for more information

Windows
Apple
Malware Analysis

VLOGs worth watching