home *** CD-ROM | disk | FTP | other *** search
/ Gambler 19 / GAMBLERCD19.BIN / UTILS / DDTPACK / PROGS / HIEW / HIEWE.513 < prev    next >
Text File  |  1996-02-01  |  12KB  |  285 lines

  1.  
  2. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  3. ▒▒▒▒▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼┼▒▒▒▒┼┼┼┼▒▒▒▒▒▒▒▒▒▒▒ æπß½¿¬«ó   ▒▒▒▒▒▒▒▒▒▒▒▒
  4. ▒▒▒▒▒▒┼┼┼┼░░░░░░░░▒┼┼┼┼░░░░░░░░▒┼┼┼┼┼┼░▒▒┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒ àóúÑ¡¿⌐    ░░▒▒▒▒▒▒▒▒▒▒
  5. ▒▒▒▒▒┼┼┼┼░░▒▒▒▒▒▒▒┼┼┼┼░░▒▒▒▒▒▒▒┼┼┼┼░┼┼░▒┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒▒ ì¿¬«½áÑó¿τ ░░▒▒▒▒▒▒▒▒▒▒
  6. ▒▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼░░┼┼░┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒
  7. ▒▒▒▒▒░░░░┼┼┼┼░░▒┼┼┼┼░░░░░░░░▒┼┼┼┼░░▒┼┼┼┼┼┼░░  voice: (384-2-)23-31-40         ▒▒▒
  8. ▒▒▒▒▒▒▒▒┼┼┼┼░░▒┼┼┼┼░░▒▒▒▒▒▒▒┼┼┼┼░░▒▒┼┼┼┼┼░░▒   FIDO: 2:5020/35.200            ░░▒
  9. ▒┼┼┼┼┼┼┼┼┼┼░░▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼░░▒▒▒┼┼┼┼░░▒▒ E-mail: sen@suslikov.kemerovo.su ░░▒
  10. ▒▒░░░░░░░░░░▒▒▒░░░░░░░░░░▒▒▒░░░░▒▒▒▒▒░░░░▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒
  11. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  12.  
  13.   Release 5.13  1 Feb 1996
  14.  
  15.  ( English translation: M.Korneff )
  16.  
  17. ▒▒▒▒ Contents ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  18.  
  19.   1. About HIEW
  20.   2. Assembler mode
  21.   3. Basing
  22.   4. Block operations
  23.   5. Video modes
  24.   6. Status bar
  25.   7. Keys
  26.   8. Bookmarks
  27.   9. Jumps (call/jmp) in the disassembler mode
  28.  10. Search/replace operations
  29.  11. Crypt operations
  30.  12. INI file
  31.  13. SAV file
  32.  14. History
  33.  
  34. ▒▒▒▒ About HIEW ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  35.  
  36.         Basically HIEW (Hacker's  view) is  a hex  viewer for  those who  need
  37. change some bytes in the  code (usually 7xh  to 0EBh).  Hiew  is able to  view
  38. unlimited length files in text/hex modes and in 386 disassembler mode.
  39.  
  40.     Features:
  41.  
  42.  ■ Text/hex mode editor
  43.  ■ Built-in 386 assembler
  44.  ■ HIEW is able to create new files
  45.  ■ Search and replace mode (can be restricted to block size)
  46.  ■ Context-sensitive help (but who needs any goddamned help anyways? HIEW can
  47.    operate without help file HIEW.HLP)
  48.  ■ Search of assembler commands using pattern (for real hackers!)
  49.  ■ Version 5.02 compiled for OS/2, EXE for DOS use as stub
  50.  
  51. ▒▒▒▒ Assembler mode ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  52.  
  53.         "Byte/word/dword/pword ptr" may  be  abbreviated  to  "b/w/d/p".   All
  54. numbers are hex, so the letter "h"  is optional.  You can use math  operations
  55. (i.e.  mov bx, [123+23-46h] = mov  bx,[100h]).  Error messages are very  brief
  56. (invalid  command,  syntax  error,  invalid  operand,  missing/invalid  size).
  57. Unconditional JMP will be translated to  0E9 XX XX, so  if you want near  jump
  58. (0EB), you have to type jmp short xxxxx (or jmps xxxxx ).
  59.  
  60.         There is 386  assembler in HIEW  version 5.00 or  later, so check  all
  61. jumps carefully because you may get unwanted long jump in 8086 code.
  62.  
  63.         WARNING!  The same command can  be assembled differently depending  on
  64. the assembler you're using.
  65.  
  66. ▒▒▒▒ Basing ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  67.  
  68.         Base is a constant  that will be added  to offset and jump  addresses.
  69. If current offset is YY and you need XX, you should type base "*XX"  (asterisk
  70. is required!).
  71.  
  72. ▒▒▒▒ Block operations ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  73.  
  74.         Block operations are working only  in Hex and  Decode modes.  You  can
  75. mark blocks without switching  to Edit  mode.  Block  can be  written to  file
  76. using PutBlk(F2).  If you want  to append the  block to the  end of file,  you
  77. should type "FFFFFFFF" offset.  You can  insert the block to the current  file
  78. from another file using GetBlk  (CtrlF2).   Block  will  be  inserted  on  the
  79. current offset.
  80.  
  81. ▒▒▒▒ Video modes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  82.  
  83.    HIEW supports video modes up to 132x75.
  84.  
  85. ▒▒▒▒ Status Bar ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  86.  
  87. ──────────────────────────────────────────────────────────────────────────────
  88.  xxx% Filename.ext R          xxxxxxxx xxx -------- YYYYYYY║ HIEW X.XXa by SEN
  89. ──────────────────────────────────────────────────────────────────────────────
  90.  └┬─┘ └─────────┬┘ │          └──┬───┘ └┬┘ └─┬────┘ └──┬───┘
  91.  percent        │  │           current  │    │         file length in bytes
  92.  indicator      │  │           offset   │    │
  93.  (only if BAR=P │  │                    │    │   1: status of the bookmarks:
  94.   in HIEW.INI)  │  │                    │    │     '-' free
  95.                 V  │                    │    └─>   '1...8' respective position
  96.          filename  │                    │          is currently used
  97.                    │                    │          '*' current
  98.                    │                    │        2: "<Editor>" = Edit mode
  99.                    │                    │
  100.                    V                    │
  101.       status of the file:               └─> 1: Text mode: number of the first
  102.       R - open in Read mode                    column
  103.       W - open in Write mode                2: Decode mode: measurement of
  104.       U - modified                             operands and addresses
  105.  
  106.  
  107. ▒▒▒▒ Keys ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  108.  
  109.         All keys are described  in HIEW.HLP  (press Alt-H).   HIEW.HLP may  be
  110. modified.  First line of HIEW.HLP must be "[HiewHelp 5.01]".  Semicolon ';' is
  111. a comment prefix character.   By pressing Alt-H  the respective section  (from
  112. [xxxx] till [yyyy]) will be  displayed.   HIEW.HLP  must  be  terminated  with
  113. [End].
  114.  
  115.  
  116. ▒▒▒▒ Bookmarks ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  117.  
  118.         Bookmarks is for saving/restoring of the current screen.  Press '+' to
  119. save the state of current screen.  You can save eight screens.  To restore any
  120. saved screen, press Alt-1...Alt-8 respectively.  There are different  bookmarks
  121. for different modes (Text/ Hex/Decode).
  122.  
  123. ▒▒▒▒ Jumps (call/jmp) in the disassembler mode ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  124.  
  125.         Now jumps is 100% configurable.  Jumps can be specified in HIEW.INI in
  126. the jumpTable array.  This line (C  Language) consists of digits and  letters.
  127. First character used to undo  jump ('0'  in HIEW  4, 'Z'  in HIEW  5 day  28).
  128. After reading from keyboard the character will be converted to the upper case,
  129. then search in jumpTable will  be performed.   Default value  of jumpTable  is
  130. '1'-'9', then 'A'-'Z'.
  131.  
  132. ▒▒▒▒ Search/replace operations ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  133.  
  134.         If search string was entered  in ASCII field, case-insensitive  search
  135. will be performed.  If you  want to  perform case-sensitive  search, move  the
  136. cursor to the HEX field and press Enter.
  137.  
  138.         You can search assembler commands (F7).
  139.  
  140.         Now search/replace can be restricted  to  selected  block  (F4  during
  141. entering the search/replace string).
  142.  
  143.         In the disassembler mode you  can use wildcards in assembler  commands
  144. for searching.  The wildcard character  is '?'.  For example, DECODE  <F7><F7>
  145. 'mov ax, ?' will look for 'mov ax,1234h", "mov ax,sp", etc.
  146.  
  147.  
  148. ▒▒▒▒ Crypt operations (F7/F8 in Edit) ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  149.  
  150.    Crypt operations are using for crypting/decrypting the code/data. Crypt
  151. algorithm is very simple. Code/data will be crypted by the bytes/words (to
  152. change the size ot the unit, press F2). Crypting routine must be terminated
  153. with "LOOP numberLine" operator.
  154.  
  155.               Available commands:
  156.  
  157.         Reg mode    : neg,mul,div
  158.         Reg-Reg mode: mov,xor,add,sub,rol,ror,xchg
  159.         Reg-Imm mode: mov,xor,add,sub,rol,ror
  160.         Imm mode    : loop
  161.  
  162.         All 8/16 bit registers are available, except AL/AX that will be filled
  163. with (de)crypted byte/word.
  164.  
  165.    The differences from standart asembler:
  166.         there are no jumps;
  167.         'loop' means 'jmp/stop'
  168.         the operands of 'rol/ror' commands must have the same size, i.e.
  169.         ROL AX,CL not allowed.
  170.  
  171.    Example:
  172.      a. XOR byte with 0AAh:
  173.         1. XOR  al,0aah
  174.         2. LOOP 1
  175.  
  176.      b. XOR word with mask increment
  177.         1. MOV  dx,0
  178.         2. XOR  ax,dx
  179.         3. ADD  dx,1
  180.         4. LOOP 2
  181.  
  182. ▒▒▒▒ INI file ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  183.  
  184.    INI file must be located in HIEW.EXE home directory.
  185.    First line in HIEW.INI always "[HiewIni 5.03]" !
  186.    Blank line or line, beginners with ';' is ignored.
  187.  
  188. -----8<------ Example HIEW.INI -------8<-------
  189.  
  190.     [HiewIni 5.03]
  191. ;
  192. ;       Startup
  193. ;                                        ; legal values
  194.  
  195. ; startup mode
  196. ;
  197.  StartMode               = Text          ; Text | Hex     | Code
  198.  
  199. ; beeper
  200.  Beep                    = On            ; On   | Off
  201.  
  202. ; percent indicator
  203.  Bar                     = Left          ; Left | Right   | Percent
  204.  
  205. ; warp/don't warp long lines
  206. ; Auto=Off for textfile, On for binary
  207.  Wrap                    = Auto          ; Auto | On      | Off
  208.  
  209. ; tabulation
  210. ; Auto=On for textfile, Off for binary
  211.  Tab                     = Auto          ; Auto | On      | Off
  212.  
  213. ; step for Ctrl-Left, Ctrl-Right in textmode
  214.  StepCtrlRight           = 20            ; 1 - 128
  215.  
  216. ; Show/Do not show mouse cursor
  217.  DisableMouse            = On            ; On   | Off
  218.  
  219. ; see next line :-)
  220.  ActionAfterWriteSavfile = None          ; None | ExitF10 | ExitESC
  221.  
  222. ; table symbols for branch call/jmp
  223.  JumpTable               = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  224.  
  225. ; Select symbol "linefeed": automatic     0x0a / 0x0d / 0x0d:0x0a
  226.  Linefeed                = Auto         ; LF  | CR  | LFCR
  227.  
  228. ;
  229. ;       Colors
  230. ;
  231.  ColorMain               = 0x1B       ; main color
  232.  ColorCurrent            = 0x71       ; current byte
  233.  ColorMark               = 0x5E       ; block color
  234.  ColorEdit               = 0x1E       ; file editing
  235.  ColorEditOut            = 0x1D       ; non-file editing
  236.  ColorError              = 0x4E       ; error messages
  237.  ColorMsg                = 0x2E       ; messages
  238.  ColorTitle              = 0x70       ; status bar
  239.  ColorKbNum              = 0x07       ; keys
  240.  ColorKb                 = 0x30       ; key is active
  241.  ColorKbOff              = 0x37       ; key is inactive
  242.  ColorBar                = 0x02       ; progress indicator
  243.  ColorWin                = 0x70       ; input dialog
  244.  ColorWinBold            = 0x7F       ;  - " -  selected
  245.  ColorWinInput           = 0x3F       ;  - " -  input field
  246.  ColorMenu               = 0x30       ; menu frame
  247.  ColorMenuText           = 0x31       ;  - " - field
  248.  ColorMenuBold           = 0x0F       ;  - " - text
  249.  ColorHelp               = 0x20       ; help frame
  250.  ColorHelpText           = 0x2E       ;  - " - field
  251.  ColorHelpBold           = 0x0F       ;  - " - text
  252.  
  253. ; ---+--- End of Inifile ---+---
  254.  
  255. --------8<--------8<--------8<--------
  256.  
  257.  
  258. ▒▒▒▒ SAV file ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  259.  
  260.         If executed without any parameters, HIEW will look for SAV file in the
  261. current directory (you can  specify /FS=<savefile>  in the  command line)  and
  262. restore previously saved  (Ctrl-F10) state.  If  executed with filename,  HIEW
  263. will use SAV file only to restore search/replace data.
  264.  
  265. ▒▒▒▒ History  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  266.  
  267.        5.03aa  3/10/95 - OS/2: DosSleep( 1L )
  268.                        - Unvisible cursor
  269.  
  270.        5.10ee 22/12/95 - fixed bug: invalid jump for Jc 7E/7F
  271.                        - fixed bug: invalid opsize, if previons byte is 0x0F
  272.                        - save screencopy into file ( PrScr deleted )
  273.                        - choise symbol "linefeed" in INI-file
  274.                        - for replace write full buffer ( was: 1 byte )
  275.                        - for OS/2session get key with KbdCharIn ( was: getch() )
  276.                           delete DosSleep( 1 )
  277.        5.11bb 24/01/96 - fixed bug: call/jmp PWORD ptr
  278.        5.13   01/02/96 - fixed bug: marked text on 2-lines
  279.                          fixed bug: crash scrolling Up, if upper code is
  280.                                     24 one-byte command (ex. NOP )
  281.                          fixed bug: OS/2: trap on create file
  282.  
  283.  
  284. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ = YES = ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  285.