Starting with reverse engineering can be daunting, but having the right tools can make the process much easier. Here are some of the best tools recommended for beginner reverse engineers, based on the experiences and advice of various Redditors:
Ghidra: A free, open-source reverse engineering tool developed by the NSA. It supports a wide range of processors and has a powerful scripting capability. "Ghidra is open source made by the NSA I believe. Pretty useful as a holistic reverse engineering tool."
IDA Pro: Often considered the industry standard, IDA Pro is a powerful disassembler and debugger. However, it can be quite expensive. "IDA looks severely overpriced, what's your guys best free OR cheaper alternative?"
Binary Ninja: A commercial alternative to IDA Pro with a focus on ease of use and powerful scripting. "Binary Ninja is a good alternative, I actually prefer this one since it feels easier read than Ghidra and has mostly similar features."
OllyDbg: A free debugger for Windows that is highly recommended for beginners due to its user-friendly interface and powerful features. "I'd recommend Ollydbg over Ida. Olly is free and powerful; Ida is great to know if you think you might make a career of reversing."
GDB: The GNU Debugger, essential for reverse engineering on Linux. "I use Linux for programming assembly and have been getting accustomed to the gdb debugger."
WinDbg: A powerful debugger from Microsoft that supports kernel-mode debugging. "Ghidra, gdb and windbg."
HxD: A popular free hex editor for Windows. "A hex editor, I typically use HxD."
CrystalTile2: Recommended for Japanese games due to its support for Shift-Jis character encoding. "I recommend CrystalTile2 or hexecute for Japanese games since most hex editors don't support Shift-Jis character encoding."
CyberChef: A web-based tool for various data operations, including encoding, decoding, and cryptographic analysis. "Keep CyberChef bookmarked and/or open in a tab."
Frida: A dynamic instrumentation toolkit that allows you to inject JavaScript into native apps on Windows, macOS, Linux, iOS, Android, and QNX. "Here is an exemple I did to dump a private key from memory on a android App, just using frida, no changes required in the app."
Objection: A runtime mobile exploration toolkit powered by Frida. "Which tools (like JADX, Ghidra, Frida, Objection, etc.) should I focus on and in what sequence?"
Crackmes.one: A collection of reverse engineering challenges to practice your skills. "I highly recommend playing around on https://crackmes.one/ it has a bunch of reverse engineering challenges"
pwn.college: Offers a module on reversing and other related topics. "You could check out pwn.college. There is a module on reversing, and a bunch of modules that lead up to it, as well as more after."
Guided Hacking: Provides comprehensive tutorials and guides on IDA Pro and other reverse engineering tools. "GuidedHacking.com has developed the industry's definitive curriculum for mastering IDA Pro."
Practical Malware Analysis: A highly recommended book for beginners in reverse engineering. "Practical Malware Analysis"
The Art of Exploitation: Covers buffer overflows and exploiting badly written software in depth. "I read most of 'Hacking, the art of exploitation' by Jon Erickson and it kind of blew my mind with how in depth it went into buffer overflows and how easy it was to exploit badly written software."
These tools and resources should provide a solid foundation for anyone looking to start their journey in reverse engineering. Happy hacking!