I once thought that using the text shell I was writing was (good) enough to develop and test the internal library; I was wrong. I have not only found out that approaching the same problems with different interfaces can lead to completely different solutions, but that in some cases the code I had written was far from being re-usable.
There was another issue bothering me: I was changing and tuning the internal analyzer once again, and I finally got to a point where I really hated testing the new code because it was really difficult to visualize and navigate the document from the command line. Long story short (too late!), it kind of felt natural to me to drop the text interface, because it was holding me back.
I decided I needed a new interface as soon as possible; I didn’t want to implement a particularly fancy one, but one that was good enough to use to further develop and improve the internal library.
After a couple of weeks of work, this is the end result:
The bad news is that there’s not much you can do with it right now; you can only open existing document or create new ones by importing Portable Executable images. You can then navigate the disassembly by either scrolling with the mouse wheel or panning with the SHIFT+Left Mouse Button combination.
The good news is that now I can get back to work and improve the internal library!