home | help
HEXWORDS(1)			 mpatrol library		     HEXWORDS(1)

NAME
     hexwords  -  extracts any words from a file that can be written as hex num-
     bers

SYNOPSIS
     hexwords [options] [dictfile]

DESCRIPTION
     The hexwords command is a little tool that can be used to generate hexadec-
     imal constants from a dictionary of known words.  Such numerical  constants
     can  be used in source files for a variety of debugging problems, and prob-
     lems with uninitialised variables are especially relevant since these  spe-
     cial  numbers  will stand out if seen from within a debugger.  For example,
     here are some common (and some not-so-common) 32-bit hexadecimal  constants
     that can be used as debugging aids:

	 word	hex constant
     addedbad	0xaddedbad
     allocate	0xa110ca7e
     badlabel	0xbad1abe1
     baseball	0xba5eba11
     codebabe	0xc0debabe
     codedbad	0xc0dedbad
     deadbeef	0xdeadbeef
     deadcode	0xdeadc0de
     failsafe	0xfa115afe
     feedface	0xfeedface
     freedata	0xf4eeda7a
     goodcode	0x600dc0de

     As can be seen above, many decimal digits can be used to represent the let-
     ters  that  they most closely resemble, along with the hexadecimal digits A
     through F.  This provides a much larger selection	of  words  that  can  be
     matched,  although the digits 3 and 8 cannot be used due to the lack of any
     similar-looking letters.  The digits and their  corresponding  letters  are
     given in the following table.

     digit   letter
     0	     O, o or Q
     1	     I, i or l
     2	     Z or z
     3	     -
     4	     q or R
     5	     S or s
     6	     G
     7	     J or T
     8	     -
     9	     g
     A-F     A-F
     a-f     a-f

     The  dictfile  argument must be a valid dictionary filename but if dictfile
     is omitted then hexwords will use /usr/dict/words as the name of  the  dic-
     tionary  file  to	use.   If  that  cannot  be found then hexwords will try
     /usr/lib/dict/words and /usr/share/dict/words.  The dictionary file must be
     a plain text file that contains one word per  line,  otherwise  few  to  no
     words will be matched.

     The  hexwords  command  currently makes use of several UNIX text processing
     commands in order to extract the words and their  hexadecimal  equivalents.
     As  a result, the hexwords command is only likely to work on UNIX platforms
     or on systems which have the necessary commands installed.

OPTIONS
     --help [-h]
	    Displays a quick-reference option summary.

     --match <exact|lower|upper|any> [-m]
	    Sets the type of case-sensitivity to use.  A setting of  exact  per-
	    forms a case-sensitive comparison of all of the words in the dictio-
	    nary  file and the hexadecimal digits, whereas a setting of any does
	    not.  The lower and upper settings convert the words in the  dictio-
	    nary  file	to lower and upper case respectively before performing a
	    case-sensitive comparison.	The default case-sensitivity is exact.

     --maximum <count> [-u]
	    Sets the maximum number of letters to match.  None of the  hexadeci-
	    mal  numbers displayed will have any more digits than this.  The de-
	    fault is 8.

     --minimum <count> [-l]
	    Sets the minimum number of letters to match.  None of the  hexadeci-
	    mal  numbers displayed will have any less digits than this.  The de-
	    fault is 4.

     --version [-V]
	    Displays the version number of the hexwords command.

SEE ALSO
     mpatrol(1), mprof(1), mptrace(1), mleak(1),  mpsym(1),  mpedit(1),  libmpa-
     trol(3), libmpalloc(3).

     The mpatrol manual and reference card.

     http://www.cbmamiga.demon.co.uk/mpatrol/

AUTHOR
     Graeme S. Roy <graeme.roy@analog.com>

COPYRIGHT
     Copyright (C) 1997-2002 Graeme S. Roy <graeme.roy@analog.com>

     This library is free software; you can redistribute it and/or modify it un-
     der the terms of the GNU Library General Public License as published by the
     Free  Software Foundation; either version 2 of the License, or (at your op-
     tion) any later version.

     This library is distributed in the hope that it will be useful, but WITHOUT
     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
     NESS  FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License
     for more details.

     You should have received a copy of the GNU Library General  Public  License
     along  with  this	library;  if not, write to the Free Software Foundation,
     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

Release 1.4			 8 January 2002 		     HEXWORDS(1)

home | help