Other Tools

There are a few tools that for one reason or another didn't make the final cut. If you have an interest, these are also very good reverse engineering tools.

SoftICE (http://en.wikipedia.org/wiki/softice) is probably the most powerful debugging software I've ever seen. As its name implies, it works almost like software in a circuit emulator. That means you're given the ability to debug almost anything on the system transparently without the program knowing about the debugger. You can even debug the Windows kernel from within SoftICE. Another thing that makes SoftICE so powerful is that it is a global debugger. That means that you can set it to break whenever any application on the entire system crashes. I often run SoftICE on a machine in this configuration as I go about my daily work; that way, if I view a web page and my browser crashes, I have probably just found a bug, and I wasn't even looking for one at the time!

I would have loved to include SoftICE in this chapter except for two things. First of all, it has an unusually large price tag, and as such is probably not the best software for beginners. Secondly, it is not scheduled to support the Windows Vista platform.

HT is a free and open source disassembler with impressive analysis options. It currently supports only x86 and PowerPC assembly. It uses a text mode curses-style interface to display the disassembly that can be a bit difficult to use if you are used to a more graphical environment. You can download HT from http://hte.sourceforge.net/.

—Michael Lynn