[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r11149: line-wrap, no real changes (topf/trunk/doc)
Author: arma
Date: 2007-08-17 13:03:48 -0400 (Fri, 17 Aug 2007)
New Revision: 11149
Modified:
topf/trunk/doc/tutorial.tex
Log:
line-wrap, no real changes
Modified: topf/trunk/doc/tutorial.tex
===================================================================
--- topf/trunk/doc/tutorial.tex 2007-08-17 01:29:58 UTC (rev 11148)
+++ topf/trunk/doc/tutorial.tex 2007-08-17 17:03:48 UTC (rev 11149)
@@ -11,24 +11,34 @@
\tableofcontents
\newpage
\section{Introduction}
-T.O.P.F is a fuzzing Framework written in Ruby and developed to test the TOR protocol-suite.
-It uses a block-based approch like the famous SPIKE fuzzer written by Dave-Aitel.
-Block-based means that data is devided into so-called blocks that are then processed in a
-predefined fassion. Compared to the random byte-flipping that many other fuzzers do, this allows
-a more focused approach on specific vulnerbilities like buffer, format-string or integer overflows.
-If fuzzing and or ruby sound strange to you, you should read into the links listed in the appendix \ref{links}.
+T.O.P.F is a fuzzing Framework written in Ruby and developed to test the
+TOR protocol-suite. It uses a block-based approch like the famous SPIKE
+fuzzer written by Dave-Aitel. Block-based means that data is devided into
+so-called blocks that are then processed in a predefined fassion. Compared
+to the random byte-flipping that many other fuzzers do, this allows a more
+focused approach on specific vulnerbilities like buffer, format-string
+or integer overflows. If fuzzing and or ruby sound strange to you,
+you should read into the links listed in the appendix \ref{links}.
\section{Working with T.O.P.F}
\label{working}
To use T.O.P.F a few basic steps descriped in this section are nessesary.
\subsection{Setting up a working Environment}
-As my aim is to make the Installation of T.O.P.F as easy as possible a working Ruby Interpreter and a checkout of the latest T.O.P.F trunk should be enough to setup up a working Test-Environment on most Systems. If you have any problems or errors you are encouraged to email me to benedikt.boss (at) gmail (dot) com .
+As my aim is to make the Installation of T.O.P.F as easy as possible
+a working Ruby Interpreter and a checkout of the latest T.O.P.F
+trunk should be enough to setup up a working Test-Environment on most
+Systems. If you have any problems or errors you are encouraged to email
+me to benedikt.boss (at) gmail (dot) com .
\subsubsection{Checking out the current T.O.P.F trunk}
-Checking out T.O.P.F is as simple as starting a "svn co https://tor-svn.freehaven.net/svn/topf/trunk" on your command-shell of choice.
+Checking out T.O.P.F is as simple as starting a "svn co
+https://tor-svn.freehaven.net/svn/topf/trunk" on your command-shell
+of choice.
\subsection{Writing T.O.P.F Structures}
-As described in \ref{working}, T.O.P.F organizes its data in blocks. These blocks can have different types which are described detailled in \ref{types}. For example you can use char, signed and unsigned types.
+As described in \ref{working}, T.O.P.F organizes its data in blocks. These
+blocks can have different types which are described detailled in
+\ref{types}. For example you can use char, signed and unsigned types.
\begin{verbatim}
#example1.rb
@@ -48,16 +58,28 @@
pp e
end
\end{verbatim}
-This creates a Class called "Example" with the fields of a 8*8Bit long String, a 8Bit unsigned integer. and the initial values "example" and 1 for these.
-Next in the begin/end block the programm creates a Example object and sets the value of the version field to 2. This also demonstrates how you are able to access all fields after you created a fuzz-struct object.
+This creates a Class called "Example" with the fields of a 8*8Bit
+long String, a 8Bit unsigned integer. and the initial values "example"
+and 1 for these. Next in the begin/end block the programm creates a
+Example object and sets the value of the version field to 2. This also
+demonstrates how you are able to access all fields after you created a
+fuzz-struct object.
\subsection{Writing T.O.P.F Tests}
-Tests in the Framework are organized on a field-type base. This means that you write tests for a specific field. To generate a Test you must create on object Fuzz::Test object and assign a type and code-block to it. For example if you want to test a char-field and assign many many "A"'s to the Field, which is a very common test :), you could write something like this:
+Tests in the Framework are organized on a field-type base. This means
+that you write tests for a specific field. To generate a Test you must
+create on object Fuzz::Test object and assign a type and code-block to
+it. For example if you want to test a char-field and assign many many
+"A"'s to the Field, which is a very common test :), you could write
+something like this:
\begin{verbatim}
a_test = Fuzz::Test.new("char") {|arg, size| "A"*1000}
\end{verbatim}
-To apply this test to a fuzz-struct you actually need another object which acts as a collector for many tests. This object is called Fuzz::Tests and is later applied to a fuzz-struct.
-The next example shows how you write some tests, assign them to the collector object and apply all tests to a structure.
+To apply this test to a fuzz-struct you actually need another object which
+acts as a collector for many tests. This object is called Fuzz::Tests
+and is later applied to a fuzz-struct. The next example shows how you
+write some tests, assign them to the collector object and apply all
+tests to a structure.
\begin{verbatim}
#example2.rb
require "lib/fuzz-generic"
@@ -103,7 +125,8 @@
\section{Fuzz-Struct Reference}
\subsection{Types}
\label{types}
-All Types beside text are equivalent to the types supplied by the bit-struct library.
+All Types beside text are equivalent to the types supplied by the
+bit-struct library.
\subsubsection{char}
Class for fixed length binary strings of characters.
\subsubsection{text}
@@ -128,4 +151,5 @@
http://www.ruby-lang.org
\end{verbatim}
-\end{document}\documentclass[10pt]{article}
\ No newline at end of file
+\end{document}\documentclass[10pt]{article}
+