Chapter 12. TODO (Contribute!)

Table of Contents

More detail
Update disasm.pl
Do this for windows
Do this for protocols
Do this for hardware

Things that need to get done to this document. Note, none of these things are going to be particularly easy. But then again, neither was writing up the rest of this tutorial.

More detail

More detail is needed in some places, especially in the area of widget interception. (describing the event loop and suggesting good breakpoint places for GTK, Qt, Win32 might be nice)

Add resources and links section for each chapter (where applicable)

Update disasm.pl

The simpler things to do to this script would be to clean up the FIXME's, and add options to it (such as --no-show-raw-insn) Also, making an attempt at dereferencing pointers based on some heuristic would be nice. Check out this perl disassembler for ideas (not too many ideas.. its output format sucks).

If anyone is feeling extremely hardcore and wants to help modify Steve and Nasko's perl script to make the output more intuitive, feel free. A directed graph would be fantastic, automatic determination of main would also be great (use graph theory on your directed graph). There is also a utility called ptrace that is part of the LDasm project. Interfacing it (or gdb) with disasm.pl script to set a break point for each function would be a heroic task as well (because this would be the equivalent of ltrace, except for ALL functions in a program, not just the libs).

Do this for windows

If any of the dual booters in the crowd want to create a similar document for windows and/or give a talk, submissions are encouraged. Do note that in the meantime, all of these utils exist for windows as well, thanks to the cygwin project. (LINK). They should work the same there.

Do this for protocols

Protocol reverse engineering is a bit different than software engineering, tho many of the tools are the same. A tutorial on "reverse engineering" network protocols and data formats would also be helpful.

Do this for hardware

If anyone wants to present tactics for reverse engineering device drivers or electronic equipment, submissions are also welcome.