Mihai's dynit Project

dynit is a command-line interface tool that can control a program while it is running. It is similar to a debugger, but has higher-level functionality, and does not require debugging information to be present in the executable file.

What does dynit do for you?

  >   trace the functions the program executes
  >   break on entry to or exit from a function
  >   print function arguments and/or return values
  >   replace functions

For more details, read the dynit Reference (gzipped Postscript, 109 kB).

How does dynit do it?

dynit uses dynamic program editing functionality provided by the DynInst library. DynInst is jointly developed at University of Maryland and University of Wisconsin, and it provides for a platform independent way of modifying running programs. Find more information about DynInst:
  >   DynInst home page at U. of Maryland: http://www.cs.umd.edu/projects/dyninstAPI
  >   DynInst API reference: http://www.cs.umd.edu/projects/dyninstAPI/rel1.2/dyninstProgGuide.pdf (PDF, 196 kB)

What is the development status of dynit?

We are still working on implementing the planned functionality.

Who develops dynit?

dynit was initially created as a class project for the Advanced Operating Systems course (CS 736) at the Department of Computer Sciences, University of Wisconsin, Madison (web site: http://www.cs.wisc.edu). The course was taught by Professor Barton Miller (email: bart@cs.wisc.edu, home page: http://www.cs.wisc.edu/~bart) during the Fall 1999 semester.

The following people work on dynit:
  >   Tevfik Kosar (email: kosart@cs.wisc.edu, home page: http://www.cs.wisc.edu/~kosart)
  >   Mihai Christodorescu (email: mihai@cs.wisc.edu, home page: http://www.cs.wisc.edu/~mihai)
  >   Rob Iverson (email: rob@cs.wisc.edu, home page: http://www.cs.wisc.edu/~riverson)

Please feel free to contact any of us for more information or help with dynit.
During this course, we also wrote a paper titled Opening Pandora's Box: Using Binary Code Rewrite to Bypass License Checks. Curious? Read it here: dynit_paper.ps.gz (gzipped Postscript, 175 kB) or 19991213 - Opening Pandora's Box... .pdf (PDF, 254 kB).

Where can I download dynit?

Right here:
  >   Version 0.0.1 (quite unpolished): dynit-0.0.1.tar.gz (tar/gz archive, 17 kB)
       released Tue, Dec. 21, 1999

What are the licensing terms for dynit?

dynit is released under an open-source license (see http://www.opensource.org) similar to the BSD license. You can read the license here. The license text is also included in the source package.


  Copyright 1999-2002 Mihai Christodorescu
   Last modified: Fri Mar 28 15:25:36 CST 2003