Desktop / embedded hacking tools
This is a curated list of hacking tools for native applications and embedded devices and is not intended to be comprehensive; rather, we want to highlight the tools we find especially useful.
1. American fuzzy lop:
AFL is an extremely powerful fuzzer, enabling detection of complicated bugs in many applications and libraries.
2. Binary Ninja:
Another low-cost alternative to IDA. Its API is perhaps the most powerful of the three for automating analysis of code.
3. Binwalk:
Used for firmware analysis and extraction. This is primarily useful for embedded Linux devices.
4. dotPeek:
A powerful decompiler for .NET assemblies.
5. GNU strings:
Finds strings in arbitrary binaries. While not strictly for reverse-engineering, it is among the most useful tools around.
6.Hopper:
This is a fantastic, low-cost disassembler and decompiler that runs on macOS and Linux. While it’s no replacement for IDA, it is a great choice for most applications
.
7. HxD (Windows) 0xED (macOS):
These are graphical hex editors, useful for analysis and manipulation of files and block devices.
8. IDA Pro and Hex-Rays Decompiler:
IDA is the absolute gold standard for disassemblers and its decompiler plugins are the gold standard for decompilation. It is a wonderful tool with support for nearly every obscure platform and an extensive (if confusing) SDK to add nearly any feature you can imagine. However, its price makes it difficult to justify.
9. PE Explorer:
This is a great tool for analyzing the PE binaries used on Windows. It allows for exploration of the structures of the executable itself, as well as resources.
10. PEiD:
Tool for detecting cryptors, packers, and encryption routines in Windows PE binaries.
11.QEMU:
An emulator and virtual machine supporting a large number of systems/architectures. This makes it useful for things like running embedded firmware, but also includes debugging facilities that make it an optimal tool for hacking. Can be combined with AFL for fuzzing of binaries that aren’t for your native architecture.
12. Radare2:
This is a set of tools for doing analysis of binaries. It includes everything from disassembly to debugging and more.
13. Unicorn Engine:
This is a library rather than a standalone tool, but it makes writing quick emulators a breeze. Particularly useful for reverse-engineering.