Index of /~silvio/coding/graphing/flowgraph

      Name                    Last modified       Size  Description

[DIR] Parent Directory 10-Oct-2002 04:23 - [DIR] ABFrag/ 17-Oct-2002 21:44 - [TXT] CHANGELOG 19-Oct-2002 17:09 22k [TXT] COPYRIGHT 10-Oct-2002 19:06 1k [CMP] LATEST_VERSION_flowg..> 10-Oct-2002 05:15 0k [DIR] demo/ 17-Oct-2002 11:57 - [DIR] flowgraph-0.0.10/ 12-Oct-2002 13:00 - [DIR] flowgraph-0.0.11/ 12-Oct-2002 15:21 - [CMP] flowgraph-0.0.12.tgz 12-Oct-2002 20:17 36k [CMP] flowgraph-0.0.13.tgz 13-Oct-2002 09:50 72k [CMP] flowgraph-0.0.14.tgz 13-Oct-2002 15:00 93k [CMP] flowgraph-0.0.15.tgz 13-Oct-2002 18:22 76k [CMP] flowgraph-0.0.16.tgz 14-Oct-2002 02:37 60k [CMP] flowgraph-0.0.17.tgz 14-Oct-2002 04:18 94k [CMP] flowgraph-0.0.18.tgz 14-Oct-2002 07:33 114k [CMP] flowgraph-0.0.19.tgz 15-Oct-2002 15:20 95k [CMP] flowgraph-0.0.20.tgz 16-Oct-2002 09:32 56k [CMP] flowgraph-0.0.21.tgz 17-Oct-2002 11:59 353k [CMP] flowgraph-0.0.22.tgz 19-Oct-2002 17:09 52k [DIR] flowgraph-0.01/ 10-Oct-2002 04:23 - [DIR] flowgraph-0.02/ 10-Oct-2002 04:22 - [DIR] flowgraph-0.03/ 10-Oct-2002 04:42 - [DIR] flowgraph-0.04.1/ 10-Oct-2002 08:42 - [DIR] flowgraph-0.04.2/ 10-Oct-2002 10:33 - [DIR] flowgraph-0.04/ 10-Oct-2002 05:15 - [DIR] flowgraph-0.05/ 10-Oct-2002 17:50 - [DIR] flowgraph-0.06/ 10-Oct-2002 19:04 - [DIR] flowgraph-0.07/ 10-Oct-2002 21:49 - [DIR] flowgraph-0.08/ 11-Oct-2002 12:53 - [DIR] flowgraph-0.09/ 11-Oct-2002 19:37 - [TXT] gg-0.0.14.dot 13-Oct-2002 14:59 11k [   ] gg-0.0.14.ps 13-Oct-2002 14:59 87k [TXT] gg-0.0.15.dot 13-Oct-2002 18:21 11k [   ] gg-0.0.15.ps 13-Oct-2002 18:22 85k [TXT] gg.c 13-Oct-2002 18:22 1k [TXT] gg.strip-0.0.14.dot 13-Oct-2002 14:59 12k [   ] gg.strip-0.0.14.ps 13-Oct-2002 14:59 88k [TXT] gg.strip-0.0.15.dot 13-Oct-2002 18:22 12k [   ] gg.strip-0.0.15.ps 13-Oct-2002 18:22 86k [TXT] gg1-0.0.20.dot 16-Oct-2002 09:33 11k [   ] gg1-0.0.20.ps 16-Oct-2002 09:33 90k

I have to change this to reflect the new web nagivation formatting!

I have put some sample graphs on www.securityhacker.org - this is temporary
and me be removed @ anytime.  The graphs are of the infamous ABFrag ;-)

GRAPHS -->

        call graphs (cg) for disjoint inter procedural control flow.
	control flow graph (cfg) for procedures
	basic block graphs for the cfg's
	static code (library) recognition (.o and .so should work)
	function pointer gathering from static code recognition (configurable)
		--> as feebdack into the grapher
		+++ symbol resolution for these function pointers
	symbol resolution for plt entries
	general symbol resolution if symtable (non stripped) is present

        clustering (bounded boxes) of procedures.
        red edges are inter procedural control flow.
        black lines are intra procedural control flow.
        green lines are for information nodes (ie, procedures, entry point)
	yellow lines indicate control flow discovered through a function ptr.
	brown nodes are resolved plt symbols
	blue nodes are procedure entry points
	purple lines indicate runtime linking dependancies
	orange lines indicicate procedure 'ret's.

ANNOTATIONS ->

	procedure local stack allocation (adhoc)
	procedure argument argc/argv sizes (adhoc)

BUG CHECKS ->

	caller/callee prototype matching

-- has these, but you dont see em yet in the output!

	path traversal and subgraph construction between 2 nodes

	the annotiations are comments in the .dot

example usage.. 

flowgraph.py binary library1 [ library2 ... ]

	$ main.py gg /usr/lib/crt1.o > gg.dot
	$ dot -Tps gg.dot -ogg.ps

eg, crt1.o is where it pulls in _start.  change linking.rel to configure
what symbols represent function pointers.

dot is by at&t bell labs.

--
Silvio