home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / h / hexed10.zip / HEXEDIT.DOC < prev    next >
Text File  |  1992-09-22  |  12KB  |  302 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                         ================================
  11.                        |             HexEdit            |
  12.                        |                                |
  13.                        | (The hexadecimal file editor)  |
  14.                        |          Version 1.0           |
  15.                        |                                |
  16.                        |        Instruction Manual      |
  17.                         ================================
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                                    by:
  33.                                                    John Jenkins
  34.  
  35.  
  36.  
  37.  
  38.                            === Introduction ===
  39.  
  40.  
  41. How often have you tried to view and/or edit a binary data file, database,
  42. or executable, only to have your favorite editor barf ?    Now this is all
  43. possible with Hexedit, the hexadecimal file editor.
  44.  
  45.  
  46.                        === Hexedit Requirements ===
  47.  
  48. Hexedit requires an IBM compatible with at least 256K to run.  It runs
  49. fastest when installed on a hard drive.   The monitor type does not
  50. matter.   Hexedit is written in Turbo-C and has been tested on the 
  51. following computers:
  52.                              8088-8 MGA MS-DOS 3.3 & MS-DOS 4.0
  53.                              286-12 VGA MS-DOS 4.0 & MS-DOS 5.0
  54.                              386-33 VGA MS-DOS 5.0
  55.                              486-33 VGA MS-DOS 5.0
  56.  
  57.  
  58.  
  59.                        === Hexedit Installation ===
  60.  
  61. To install Hexedit, you need only 150K of free disk space.   Simply copy
  62. the files on the distribution to the directory of your choice.  There is
  63. no set up or configuration required, simply plug and play.
  64.  
  65.  
  66.  
  67.  
  68.                        === Command Line Arguments ===
  69.  
  70. Hexedit requires no command line arguments, however, the name of the file(s)
  71. that are to be edited/viewed can be specified here.  If no arguments are
  72. given, hexedit will state the no file was loaded in the filename field.
  73.  
  74.                        === How to run Hexedit ===
  75.  
  76. When you execute hexedit with no command line arguments, you will be 
  77. presented with a screen that looks like that in Figure 1.
  78.  
  79. ========================= BINARY FILE HEX EDITOR ==========================
  80.  Filename: ** NO FILE **
  81.  Command ( BCEOQRSW+-<>? ):         RADIX: hex
  82.  No file to read from !!
  83.       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f      0123456789abcdef
  84.     0 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   0 ----------------
  85.     1 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   1 ----------------
  86.     2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   2 ----------------
  87.     3 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   3 ----------------
  88.     4 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   4 ----------------
  89.     5 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   5 ----------------
  90.     6 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   6 ----------------
  91.     7 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   7 ----------------
  92.     8 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   8 ----------------
  93.     9 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   9 ----------------
  94.     a -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   a ----------------
  95.     b -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   b ----------------
  96.     c -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   c ----------------
  97.     d -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   d ----------------
  98.     e -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   e ----------------
  99.     f -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --   f ----------------
  100.       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f      0123456789abcdef
  101.    OFFSET:0                     BLK#:0                    BYTE#:0
  102.    #BYTES:0                     #BLKS:0                   BLKSZ:0
  103. ---------------------------------------------------------------------------
  104.                           Figure 1 - Main Screen
  105.  
  106.  
  107.  
  108. Otherwise, a command such as:
  109.  
  110.                 hexedit main.c <RETURN>
  111.  
  112. will produce the screen in Figure 2.
  113.  
  114. ========================= BINARY FILE HEX EDITOR ==========================
  115.  Filename: main.c
  116.  Command ( BCEOQRSW+-<>? ):         RADIX: hex
  117.  Read [256] bytes from block [0].
  118.       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f      0123456789abcdef
  119.     0 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   0 /***************
  120.     1 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   1 ****************
  121.     2 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   2 ****************
  122.     3 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   3 ****************
  123.     4 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a   4 *************.**
  124.     5 20 4d 61 69 6e 20 70 72 6f 67 72 61 6d 20 72 6f   5  Main program ro
  125.     6 75 74 69 6e 65 20 66 6f 72 20 74 68 65 20 62 69   6 utine for the bi
  126.     7 6e 61 72 79 2d 66 69 6c 65 20 68 65 78 2d 65 64   7 nary-file hex-ed
  127.     8 69 74 6f 72 2e 20 20 50 72 6f 67 72 61 6d 20 75   8 itor.  Program u
  128.     9 73 65 73 20 74 68 65 20 20 2a 2a 0a 2a 2a 20 63   9 ses the  **.** c
  129.     a 75 72 73 65 73 20 74 65 72 6d 69 6e 61 6c 20 68   a urses terminal h
  130.     b 61 6e 64 6c 69 6e 67 20 6c 69 62 72 61 72 79 20   b andling library
  131.     c 74 6f 20 64 69 73 70 6c 61 79 20 61 6e 64 20 6d   c to display and m
  132.     d 6f 64 69 66 79 20 64 61 74 61 20 66 69 6c 65 73   d odify data files
  133.     e 2e 20 20 20 20 20 20 2a 2a 0a 2a 2a 2a 2a 2a 2a   e .      **.******
  134.     f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   f ****************
  135.       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f      0123456789abcdef
  136.    OFFSET:0                     BLK#:0                    BYTE#:0
  137.    #BYTES:928                   #BLKS:a                   BLKSZ:100
  138. --------------------------------------------------------------------------
  139.                    Figure 2 - Main Screen with file
  140.  
  141.  
  142.  
  143.                     === Sections of the Screen ===
  144.  
  145. The first region of importance is the second line.  It shows the current
  146. file that is being operated on.   If there is no file, then the words
  147. "** NO FILE **" will be displayed.
  148.  
  149. The next important screen region is line three (3), column 30.  This is the
  150. command area.  Anytime the cursor is in this position, hexedit is in command
  151. mode.
  152.  
  153. In addition to the command position, line three contains the current radix
  154. display.  In this region will be displayed the values: hex, dec, octal.
  155.  
  156. The next line is the status/input line.  Anytime input is required, a prompt
  157. will appear on this line.  Any errors or exceptions will be displayed on
  158. this line as well.
  159.  
  160. Lines 5 through 21 are the data display region.  The region to the left is
  161. the hexadecimal area, and the region to the right contains the ASCII 
  162. equivalent of the data.  Unprintable characters are shown as a dot (.).
  163.  
  164. The last two lines are the file status line.  The first of these two lines
  165. contains the file position in bytes and block number.  The last field in
  166. this line is used during edit mode to show the block-offset.  The next line
  167. contain the file size in bytes and 256-byte blocks, and the block size 
  168. (which remains fixed at 256 bytes).
  169.  
  170.  
  171.  
  172.  
  173.                           === Command Synopsis ===
  174.  
  175.         B       = Set current block number
  176.         C       = Cancel any edits done on the current block
  177.         E       = Enter edit mode     ESC = Ends edit mode
  178.         O       = Open new file
  179.         Q       = Quit hexedit
  180.         R       = Set current radix
  181.         S       = Search for data pattern
  182.         W       = Write current block
  183.         +       = Move to next file
  184.         -       = Move to previous file
  185.         <       = Move to previous block
  186.         >       = Move to next block
  187.         ?       = Display help window
  188.  
  189.  
  190.                    === Setting the current radix ===
  191.  
  192. The radix is used to display and obtain information from the user.  By
  193. default, all file information displayed is in hexadecimal (base 16).  
  194. When any input is asked for, it should be entered in the current radix.  
  195.  
  196. Typing R when in command mode will display the prompt:
  197.  
  198.                         "Change radix to ? (xdo)"
  199.  
  200.                 The values that can be entered are:
  201.                         H h     = HEXADECIMAL
  202.                         D d     = DECIMAL
  203.                         O o     = OCTAL
  204.  
  205.  
  206.  
  207.                        === Moving to a new block ===
  208.  
  209. There are a number of ways to move to a new block.  The first manner
  210. is to explicitly set the block using the B command.  When in command
  211. mode, typing B will display the prompt:
  212.  
  213.                        "Which block ?"
  214.  
  215. After entering the block number (in the current radix), press <RETURN>
  216. and the specified block will be loaded if legal.  Any problems will be
  217. displayed on the error message line.
  218.  
  219.  
  220. Alternate ways to change the current block are to use the < and > keys.
  221. The < moves back one block, while > moves ahead one block.
  222.  
  223.  
  224.  
  225.  
  226.                       === Opening a new file ===
  227.  
  228. To open a new file for editing/viewing, type O and the prompt:
  229.  
  230.                            "Filename :"
  231.  
  232. will appear.  Enter the file and press <RETURN>.  The first block of the
  233. file will be loaded and displayed.
  234.  
  235.  
  236.                     === Changing the current file ===
  237.  
  238. If more than one file is in the filelist, then using the + and -
  239. keys, the current file may be switched between them.
  240.  
  241.  
  242.                        === Editing a block ===
  243.  
  244. To make changes to a block, press E and the cursor will move into the 
  245. data display areas.  To move around, use the LEFT/RIGHT arrow keys to 
  246. move from nibble to nibble and the UP/DOWN arrow keys to move from row 
  247. to row.
  248.  
  249. After the edits are complete, press <ESC> to end the session.
  250.  
  251. Once edits have been made to a block, they must be saved or canceled
  252. before any other operations are done.
  253.  
  254.                       === Cancelling Edits Made ===
  255.  
  256. To cancel any unsaved edits made to the current block, press the C key.
  257.  
  258.  
  259.                       === Searching for data ===
  260.  
  261. One of the nicer features of hexedit is the ability to search for data
  262. patterns.  There are two type of patterns, hex and ASCII.  To search for
  263. a pattern, press the S key in command mode.  The prompt:
  264.  
  265.                       "Data to find:"
  266.  
  267. will be displayed.  To find a binary pattern, type in the hexadecimal
  268. representation of the pattern with no spaces.  Full bytes must be 
  269. specified.  To find an ASCII pattern, start the pattern with a ".  Any
  270. data following will be taken as literal.
  271.  
  272.        ie.  Search for the pattern: "Hexedit is great" in ascii.
  273.  
  274.              Data to find: "Hexedit is great<RETURN>
  275.  
  276.        ie.  Search for the pattern: "Hexedit" in binary.
  277.  
  278.              Data to find: 48657865646974<RETURN>
  279.  
  280.  
  281.                        === Uploading to BBS ===
  282.  
  283. The author would appreciate any efforts to upload this program to all
  284. your favorite bulletin boards and shareware pools.
  285.  
  286.  
  287.                        === Reporting any bugs ===
  288.  
  289. If you find anything you think might be a bug, please let me know.  I 
  290. want to provide a quality program.  Please note the configuration you
  291. are running on, exactly what happened, what was done to cause it, and
  292. any other helpful information.
  293.  
  294.  
  295.                          === Coming Soon ... ===
  296.  
  297. I am currently working on a Version 2.0 of Hexedit.  In it, I am adding
  298. the following features, as well as fixing any bugs found in 1.0.
  299.  
  300.              1) Finding patterns across 256-byte block boundaries
  301.  
  302.