[LWN Logo]
[LWN.net]
From:	 gzoppi@python.it (Giorgio Zoppi)
To:	 lwn@lwn.net
Subject: [lcamtuf@bos.bindview.com: Fenris]
Date:	 Wed, 2 Feb 2000 00:46:28 +0100

Lo sapevi??

----- Forwarded message from Michal Zalewski <lcamtuf@bos.bindview.com> -----

I am proud to announce Fenris. This tool, developed and distributed under
terms and conditions of GNU Public License, is a unique combination of a
multipurpose run-time tracer, stateful program analyzer and partial GCC
decompiler. Fenris is intended to simplify bug tracking, security audits
and code / algorithm / protocol analysis - providing valuable structural
information about internal constructions, execution path, memory
operations, I/O, conditional expressions and much more. It does not
require sources or any particular compilation method, so it can be very
useful for black-box tests and evaluations - but will also provide
valuable help for open-source project autits, as a nice real-time
reconnaissance tool for whole application or specific functional blocks
(used just like 'strace' or on a higher level of abstraction).

This is not an interactive debugger, and it is not intended to find
problems, bugs or security vulnerabilities automatically. But it is
supposed to be a reliable, useful tool that works in real world and can
deliver valuable information which can be used to detect known problems,
but also to spot unique or not so obvious dynamic conditions. Among many
other features, Fenris is able to auto-detect internals (including number
of function parameters, nesting level) and assign unique names to each
object; fingerprint functions in static binaries, automatically detect
common library code; able to deliver text-based and graphical, browsable
output that documents different aspects of program activity on different
abstraction layers; able to perform partial analysis of single structural
blocks. It is designed to make things easier, filling the gap between
existing code analysis and debugging tools - but not to replace all of
them :-)

For more detailed description of used approach, current implementation and
limitations, please go to http://razor.bindview.com/tools/fenris/README .
A brief demonstration of available output, please visit
http://razor.bindview.com/tools/fenris/fenris-ui.html .

The official site for this project (including downloadable sources,
credits, etc) is http://razor.bindview.com/tools/fenris/. The code is
usable, but certainly not finished. It lacks support for certain calls,
needs to be ported to platforms other than Linux/x86 and needs to support
compilers other than GCC framework. There are some known, but not fully
diagnosed fault conditions and a nice "to do" list. I and other RAZOR
members believe that this project can and will benefit from being an
open-source development, and because of that, we encourage all developers
who find this code interesting to contribute and make it better.

-- 
_____________________________________________________
Michal Zalewski [lcamtuf@bos.bindview.com] [security]
[http://lcamtuf.coredump.cx] <=-=> bash$ :(){ :|:&};:
=-=> Did you know that clones never use mirrors? <=-=
          http://lcamtuf.coredump.cx/photo/






----- End forwarded message -----

-- 
---
http://sf.net/projects/bondlog
G.Z.