Doxygen As RE Tool

It’s important not to overlook some obvious tools even though they may not be chartered for reverse engineering purposes. Think of Doxygen. This is that tool that can look at your project full of source code and extract all of the comments and data structures and functions and automatically generate a cleanly interlinked set of HTML files to browse.

Doxygen logo

It helps if you design a project from the ground up to take advantage of Doxygen’s features. But strictly speaking, Doxygen doesn’t really care how poorly a project is commented. It will still plow through the source code, analyzing it as best it can.

I am still working diligently on Understanding VC-1. Now, the SMPTE reference decoder is quite neatly documented. However, in trying to understand functions there is the inevitable jumping back and forth between source files trying to figure out what this or that data structure contains. In this, Doxygen relieves some of the RE pain. As a small example, here is what the Doxygen-generated HTML for the VLC data structure looks like (it’s a picture; don’t bother to click the links):


Doxygen example

This example turned out all right. Sometimes, however, the comments don’t match up with the fields since they weren’t formatted with Doxygen in mind. On average, it’s still an improvement than the standard file-hopping.

One thought on “Doxygen As RE Tool

  1. Anonymous

    A late comment, but… Doxygen works on the code, because we wrote it to use Doxygen. There was a bit of perl to pull out “Description:”, “Remarks:” etc. and highlight them, but that was all.

Comments are closed.