Hi all,
I just wanted to stimulate some discussion on Documentation in general.
Specifically documentation that is not going to be presented to a client at the end of a paid session, just personal and highly technical notes.
So far in my time learning about security matters, I have mostly dealt with reversing binaries. I have found that although the skills required for this are similar to the bug-hunting or impact evaluation components of my day-job, my usual method of scribbling on a piece of paper as I go along is not sufficient as I would also like to include various other bits of media and disparate bits of information: screenshots, memory addresses, text notes, occasionally flow diagrams or pseudo-code and very occasionally videos of something in progress.
What I have been trying to do is place comments on the code in my debugger of choice, however, I often use more than one tool - such as interchanging between IDAPro and OllyDbg, meaning that my comments are spread between two bits of software. Extracting these comments with their associated memory addresses into a text file is one option, but I also want to maintain the original notes file produced by the debugger for future reversing sessions.
Being a fan of Mind-Maps in general I've found
Free Mind to be very useful for producing broad overviews, but I have yet to find a method I'm completely happy with. Perhaps each method varies depending on what you're documenting - e.g. just analysing one binary as opposed to documenting a pen test.
I'd also imagine that for penetration testing or any sort of security assessment documentation would be very important. So I'm wondering if there are any preferred methods of producing documentation - either after the fact or as you go. I've noticed in other threads that people have kept a wiki of their notes on certain subjects - I have thought about this, but is it overkill if it will only be for your own use?
Perhaps it's just a matter of at the end of a reversing session to collate everything into an informal document and embedding everything necessary with references to other files in the same directory.
Thoughts?