Tools

It can’t be emphasised enough how important a complete set of tools is. I haven’t tried everything, but am generally quite intolerant of badly written software, and everything here passes my filters. It’s not an exhaustive list, but here are the ones I couldn’t function without:

Programming

Visual C++ Express Edition
Microsoft’s free C++ IDE. Top-notch debugger, unbeatable value.
Visual C# Express Edition
And their free C# IDE. It can be a little uncooperative for low-level work but I haven’t found a better GUI-development tool.
WinAsm Studio
A free third-party IDE for MASM that makes my rare trips into the realm of assembly a pleasure.
DirectX 9 SDK
The frequently updated SDK includes the excellent GPU debugger, PIX. It is, of course, also free.
FMOD
I wouldn’t rely on anything else to take care of my audio. Easy to use, clean, fast, always up-to-date. Free for non-commercial use.

Reverse-Engineering

OllyDbg
The only Win32 debugger (shareware).
PEiD
A packer signature identifier - always the first port-of-call when sizing up a target.
010 Editor
It took me a long time to find a decent hex-editor. The $50 is perhaps a little steep, but I don’t regret the purchase.
IDA
The smartest disassembler out there. I don’t rate its debugger but it excels at decoding the more involved functions. A freeware version of IDA 4.9 is available if you don’t mind working with an ugly GUI.
Resource Hacker
Don’t let the uninventive name fool you: this is the strongest Win32 PE resource editor out there. It also happens to be released under the freeware license.
LordPE Deluxe
I never thought I’d use a PE editor as often as I do, but it’s second only to OllyDbg in the popularity stakes. Can’t fault it; free.
ImpRec
This import-reconstruction tool (essential for many unpacking jobs) has truly stood the test of time. Despite having no official home at any point in living memory, it lives on as an elusive wisp that everybody needs and few people host. It’s free and licenseless, if you can find it.
WinSpector
A well-written, full-featured window-spying tool that puts Microsoft’s Spy++ to shame. Free, naturally.
VMware Workstation
The quality of virtual machine software continues to impress me. $189 isn’t inconsiderable, but I’ve never needed more than the 30 day trial. If you need a VM, though, this is a superb option.
ArmInline
An old, very hacky, project of mine to aid in the unpacking of Armadilloed programs. I haven’t needed it in a while, so I’m not sure if it still works, but it kept me sane through some tedious times.
Process Monitor
This tool replaces the old Filemon and Regmon from Sysinternals, providing real-time monitoring for Windows user-mode file-system, registry and threading activity.

Hacking

Burp Suite
A tremendous collection of tools with a very powerful proxy. £99 for commercial use, free otherwise.
HTTPrint
The strongest HTTP server fingerprinting tool out there. Free for non-commercial use.
Cain & Abel
If you need to recover a password, this is your first port of call. Supports network- and wireless-sniffing, hash reversal and brute-forcing with out-of-the-box support for dozens of protocols and formats; excellent interface. Freeware.
John The Ripper
This one’s less user-friendly than Cain but more powerful when it comes to recovering a password from its hash. Ugly command-line interface, but still an essential tool for any hacker’s collection. Open-source.
SPIKE Proxy
This is a basic proxy framework for the C-based fuzzer-generation tool, SPIKE. It isn’t too easy to use and requires a knowledge of Python and C but its block-based design makes it the most powerful fuzzing option of the moment.