home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / hiew616.zip / HIEW_616.ZIP / HIEWE.616 < prev    next >
Text File  |  1999-08-20  |  25KB  |  546 lines

  1. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2. ▒▒▒▒▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼┼▒▒▒▒┼┼┼┼▒▒▒▒▒▒▒▒▒▒▒ Eugene     ▒▒▒▒▒▒▒▒▒▒▒▒
  3. ▒▒▒▒▒▒┼┼┼┼░░░░░░░░▒┼┼┼┼░░░░░░░░▒┼┼┼┼┼┼░▒▒┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒ Suslikov   ░░▒▒▒▒▒▒▒▒▒▒
  4. ▒▒▒▒▒┼┼┼┼░░▒▒▒▒▒▒▒┼┼┼┼░░▒▒▒▒▒▒▒┼┼┼┼░┼┼░▒┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒
  5. ▒▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼░░┼┼░┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  6. ▒▒▒▒▒░░░░┼┼┼┼░░▒┼┼┼┼░░░░░░░░▒┼┼┼┼░░▒┼┼┼┼┼┼░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  7. ▒▒▒▒▒▒▒▒┼┼┼┼░░▒┼┼┼┼░░▒▒▒▒▒▒▒┼┼┼┼░░▒▒┼┼┼┼┼░░▒   FIDO: 2:5001/15.200            ░░▒
  8. ▒┼┼┼┼┼┼┼┼┼┼░░▒┼┼┼┼┼┼┼┼┼┼▒▒▒┼┼┼┼░░▒▒▒┼┼┼┼░░▒▒ E-mail: sen@suslikov.kemerovo.su ░░▒
  9. ▒▒░░░░░░░░░░▒▒▒░░░░░░░░░░▒▒▒░░░░▒▒▒▒▒░░░░▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒
  10. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  11.  
  12.   Release 6.16                                       Dedicated to my wife...
  13.  
  14.  ( English translation: M.Korneff )
  15.  
  16.  Visit   http://gid.kuzbass.net/sen
  17.     or   http://sen.kmr.ru
  18.     or   http://soft4you.com/sen
  19.  for news
  20.  
  21.  
  22. ▒▒▒▒ Release 6.15 notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  23.  
  24.         With this release HIEW is SHAREWARE. See register.txt for details.
  25.  
  26. ▒▒▒▒ Release 6.00 notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  27.  
  28. The following enhancements have been added to release 6.00:
  29.  
  30. - "crypt" has been removed (it will be a separate project)
  31. - command line file list switching moved to CtrlF11/CtrlF12.
  32. - Alt- functions moved to Alt-Fn (except Alt-P, Alt-H, Alt-=). see
  33. hiew.hlp for details.
  34. - history has been added for string input (PgDown) and file section
  35. (pess Backspace to see menu, Tab to switch to the next file in the
  36. history).
  37. - "ActionAfterWriteSavefile" removed from the ini-file.
  38. - "NextFileSaveOffset" (save current offset for the next file)
  39. removed by "NextFileSaveOffset"(save all conditions for the next file)
  40.  
  41. ▒▒▒▒ Release 5.30 notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  42.  
  43.   LX-executables support added:
  44. - viewing of LX-heades
  45. - viewing of tables of objects
  46. - support for the reference table for some types of relocations.
  47. - added new utilite "LXDUMP.EXE" for those, who want to view LX-files
  48. more detailed.
  49.  
  50. ▒▒▒▒ Release 5.21 notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  51.  
  52.   NE-executables support added:
  53. - viewing of NE-heades
  54. - viewing of tables of objects
  55. - support for the reference table for some types of relocations.
  56. - added new utilite "NEDUMP.EXE" for those, who want to view NE-files
  57. more detailed.
  58.  
  59. ▒▒▒▒ Contents ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  60.  
  61.   1. About HIEW
  62.   2. Assembler mode
  63.   3. Basing
  64.   4. Block operations
  65.   5. Video modes
  66.   6. Status bar
  67.   7. Keys
  68.   8. Bookmarks
  69.   9. Jumps (call/jmp) in the disassembler mode
  70.  10. Search/replace operations
  71.  11. Crypt operations
  72.  12. INI file
  73.  13. SAV file
  74.  14. XLT file structure
  75.  15. Command line
  76.  16. History
  77.  
  78. ▒▒▒▒ About HIEW ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  79.  
  80.         Basically HIEW (Hacker's  view) is  a hex  viewer for  those who need
  81. to change some bytes in the  code (usually 7xh  to 0EBh). Hiew is able to view
  82. unlimited length files in  text/hex modes and  in Pentium(R) Pro  disassembler
  83. mode.
  84.  
  85.     Features:
  86.  
  87.  └ Text/hex mode editor
  88.  └ Built-in Pentium(R) Pro assembler
  89.  └ Ability to create new files
  90.  └ Search and replace in the blocks
  91.  └ Context-sensitive help (HIEW can operate without help file HIEW.HLP)
  92.  └ Search of assembler commands using pattern (for real hackers!)
  93.  └ Version 5.02 compiled for OS/2, EXE for DOS is used as a stub
  94.  
  95. ▒▒▒▒ Assembler mode ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  96.  
  97.         "Byte/word/dword/pword/qword/tbyte"    may    be    abbreviated     to
  98. "b,/w,/d,/p,/q,/t,".  All numbers are hex, so the letter "h" is optional.  You
  99. can use math operations (i.e.  mov  bx, [123+23-46h] = mov bx,[100h]).   Error
  100. messages are very brief  (invalid  command,  syntax  error,  invalid  operand,
  101. missing/invalid size).  Unconditional JMP will be translated to 0E9 XX XX,  so
  102. if you want near jump (0EB), you need  to type jmp short xxxxx (or jmps  xxxxx
  103. ).
  104.  
  105.         There is 386  assembler in HIEW  version 5.00 or  later, so check  all
  106. jumps carefully because you may get unwanted long jump in 8086 code.
  107.  
  108.         WARNING!  The same command can  be assembled differently depending  on
  109. the assembler you're using.
  110.  
  111. ▒▒▒▒ Basing ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  112.  
  113.         Base is a constant  that is added  to offset and jump  addresses.
  114. If current offset is YY and you need XX, you should type base "*XX"  (asterisk
  115. is required!). You can use Ctrl-F5/Ctrl-F5 as *0.
  116.  
  117. ▒▒▒▒ Block operations ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  118.  
  119.         Block operations works only  in "Hex" and  "Decode" modes.  You  can
  120. mark blocks without switching to Edit  mode. The Marked block  can be  written
  121. to the file using PutBlk(F2).
  122.         If you want to append the block to the end of the file, you should type
  123. "FFFFFFFF" offset.  You can insert the block to the current file from  another
  124. file using GetBlk (CtrlF2).  The block will be inserted starting with the
  125. current offset.
  126.  
  127.         With release 6.10 if there is no marked  block in  current file,
  128. the block is choosen from the history files, where it can be found.
  129.  
  130. ▒▒▒▒ Video modes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  131.  
  132.    HIEW supports video modes up to 132x75.
  133.  
  134. ▒▒▒▒ Status Bar ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  135.  
  136. ──────────────────────────────────────────────────────────────────────────────
  137.  xxx% Filename.ext dFR     NE xxxxxxxx xxx -------- YYYYYYY║ HIEW X.XX (c) SEN
  138. ──────────────────────────────────────────────────────────────────────────────
  139.  └┬─┘ └─────────┬┘ │││      │ └──┬───┘ └┬┘ └─┬────┘ └──┬───┘
  140.  percent        │  │││      │  current  │    │         file length in bytes
  141.  indicator      │  │││      │  offset   │    │
  142.  (only if BAR=P │  │││      V           │    │   1: status of the bookmarks:
  143.   in HIEW.INI)  │  │││      NewExe type │    │     '-' free
  144.                 V  │││                  │    └─>   '1...8' corresponding position
  145.          filename  │││                  │         is currently occupied
  146.                    │││                  │          '*' current
  147.  find direction <──┘││                  │        2: "<Editor>" = Edit mode
  148.                     ││                  │
  149.                     V│                  │
  150.          search area:│                  └─> 1: Text mode: number of the first
  151.      F - current file│                         column
  152.      B - block       │                      2: Decode mode: measurement of
  153.      A - list argv** │                         operands and addresses
  154.                      │                         (prefix 'a' shows automatically
  155.                      V                          recognized size of code)
  156.                  status of the file:
  157.                  R - opened in Read mode
  158.                  W - opened in Write mode
  159.                  U - modified
  160.  
  161.  
  162. ▒▒▒▒ Keys ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  163.  
  164.         All keys are described  in HIEW.HLP  (press Alt-H).   HIEW.HLP may  be
  165. modified.  The first line of HIEW.HLP must be "[HiewHelp 5.01]".  Semicolon ';'
  166. means a comment.   The corresponding section  (from
  167. [xxxx] till [yyyy]) will be  displayed by pressing Alt-H.   HIEW.HLP  must
  168. be  terminated  with [End].
  169.  
  170.  
  171. ▒▒▒▒ Bookmarks ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  172.  
  173.         Bookmarks are
  174. for saving/restoring of the current screen.  Press '+' to
  175. save the state of current screen.  Eight screens can be saved.  To restore any
  176. saved screen, press Alt-1...Alt-8 correspondingly.  There are special bookmarks
  177. for every mode (Text/ Hex/Decode).
  178.  
  179. ▒▒▒▒ Jumps (call/jmp) in the disassembler mode ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  180.  
  181.         Now jumps are more configurable.  Jumps can be specified in HIEW.INI in
  182. the jumpTable array. This line (in terms of C Language) consists of digits and
  183. letters.
  184. The first character ('0' in HIEW 4, 'Z' in HIEW 5 day 28) is used to undo jump.
  185. After reading from keyboard the character will be converted to the upper case,
  186. then will be searched in the jumpTable.   Default values  of jumpTable  are
  187. '1'-'9', then 'A'-'Z'.
  188.  
  189. ▒▒▒▒ Search/replace operations ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  190.  
  191.         If search string was entered  in ASCII field, case-insensitive  search
  192. will be performed.  If you  want to  perform case-sensitive  search, move
  193. cursor to the HEX field and press Enter.
  194.  
  195.         You can search assembler commands (F7).
  196.  
  197.         Now search/replace can be restricted to the selected  block (F4 during
  198. entering the search/replace string).
  199.  
  200.         In the disassembler mode  assembler  commands can be searched with
  201. wildcards. The wildcard character  is '?'.
  202.         For example, DECODE <F7><F7> 'mov ax, ?' will look for 'mov ax,1234h",
  203. "mov ax,sp", etc.
  204.  
  205.         With release  5.83  multiline  assembler  commands can be searched
  206. with delemiter sign ';'
  207.         For example: "push ?10; call ?; add ?"
  208.  
  209.         will find:                      will not find:
  210.         --------                        ---------
  211.         push 00010                      push 00010
  212.         call 01234:05678                push 00011
  213.         add  sp,00006                   add  ax,00006
  214.  
  215.  
  216.         With release 6.10 search/replace can be performed in all
  217. files from command line.  This feature starts to work when "fillArg"
  218. option is selected by pressing "F4" in the search/replace input.
  219.  
  220.  
  221. ▒▒▒▒ Crypt operations (F7/F8 in Edit) ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  222.  
  223.    Crypt operations are used for crypting/decrypting the code/data with a
  224. rather simple crypt algorithm.
  225.  Code/data will be crypted by the bytes/words (to
  226. change the size ot the unit, press F2). Crypt routine must be terminated
  227. with "LOOP numberLine" operator.
  228.  
  229.               Available commands:
  230.  
  231.         Reg mode    : neg,mul,div
  232.         Reg-Reg mode: mov,xor,add,sub,rol,ror,xchg
  233.         Reg-Imm mode: mov,xor,add,sub,rol,ror
  234.         Imm mode    : loop
  235.  
  236.         All 8/16 bit registers are available, except AL/AX that will be filled
  237. with the (de)crypted byte/word.
  238.  
  239.    The differences from the standard assembler:
  240.         there are no jumps;
  241.         'loop' means 'jmp/stop'
  242.         the operands of 'rol/ror' commands must have the same size, i.e.
  243.         ROL AX,CL not allowed.
  244.  
  245.    Example:
  246.      a. XOR byte with 0AAh:
  247.         1. XOR  al,0aah
  248.         2. LOOP 1
  249.  
  250.      b. XOR word with mask increment
  251.         1. MOV  dx,0
  252.         2. XOR  ax,dx
  253.         3. ADD  dx,1
  254.         4. LOOP 2
  255.  
  256.  
  257. ▒▒▒▒ INI file ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  258.  
  259.         INI file must be located in HIEW.EXE home directory.  INI file can be
  260. specified with "/INI=<inifile>" key in the command line.
  261.    The first line in HIEW.INI is always "[HiewIni 5.03]" !
  262.    Blank lines and comment lines (beginning with ';') are ignored.
  263.  
  264. -----8<------ Example HIEW.INI -------8<-------
  265.  
  266.     [HiewIni 5.03]
  267. ;
  268. ;       Startup
  269. ;                                        ; legal values
  270.  
  271. ; startup mode
  272. ;
  273.  StartMode               = Text          ; Text | Hex     | Code
  274.  
  275. ; beeper
  276.  Beep                    = On            ; On   | Off
  277.  
  278. ; percent indicator
  279.  Bar                     = Left          ; Left | Right   | Percent
  280.  
  281. ; wrap/don't wrap long lines
  282. ; Auto=Off for textfile, On for binary
  283.  Wrap                    = Auto          ; Auto | On      | Off
  284.  
  285. ; tabulation
  286. ; Auto=On for textfile, Off for binary
  287.  Tab                     = Auto          ; Auto | On      | Off
  288.  
  289. ; step for Ctrl-Left, Ctrl-Right in textmode
  290.  StepCtrlRight           = 20            ; 1 - 128
  291.  
  292. ; Show/Don't show mouse cursor
  293.  DisableMouse            = On            ; On   | Off
  294.  
  295. ; table symbols for branch call/jmp
  296.  JumpTable               = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  297.  
  298. ; Select symbol "linefeed": automatic     0x0a / 0x0d / 0x0d:0x0a
  299.  Linefeed                = Auto         ; LF  | CR  | LFCR              v5.10
  300.  
  301. ; Automatic definition of code size of LX-executables
  302.  AutoCodeSize            = On            ; On   | Off                   v5.41
  303.  
  304. ; Flush keyboard buffer before reading a key
  305.  KbdFlush                = On            ; On   | Off                   v5.50
  306.  
  307. ; View Offset for NE/LX/PE as local/global (toggle Alt-G)
  308.  ShowOffset              = Local         ; Local | Global               v5.51
  309.  
  310. ; Mask for displaying offset in the pattern search
  311.  RunningOffsetMask       = 0xFF          ; 0 - 0xFFFFFFFF               v5.53
  312.  
  313. ; Xlat table index in hiew.xlt ( 0 - As Is )
  314.  XlatTableIndex          = 0             ; 0 - 15                       v5.85
  315.  
  316. ; sort in filelist
  317.  FlistSort               = Name         ; none |Name |Ext |Time |Size   v5.90
  318.  
  319. ; reverse sort in filelist
  320.  FlistSortReverse        = Off          ; On    | Off                   v5.90
  321.  
  322. ; show hidden files in filelist
  323.  FlistShowHidden         = Off          ; On    | Off                   v5.90
  324.  
  325. ; save current state( mode, offset, bookmarks, etc) for the next file
  326.  NextFileSaveState      = Off          ; On    | Off                    v6.00
  327.  
  328. ; Scanning code step for search with pattern and search reference
  329. ;                                       / by command  / by one byte
  330.  ScanStep                = Command      ; Command     | Byte            v6.00
  331.  
  332. ; Write savefile at exit
  333.  SaveFileAtExit          = Off          ; On | Off                      v6.00
  334.  
  335. ; Location of savefile
  336.  Savefile                = "hiew.sav"                                   v6.00
  337.  
  338. ;
  339. ;       Colors
  340. ;
  341.  ColorMain               = 0x1B       ; main color
  342.  ColorCurrent            = 0x71       ; current byte
  343.  ColorMark               = 0x5E       ; block color
  344.  ColorEdit               = 0x1E       ; file editing
  345.  ColorEditOut            = 0x1D       ; non-file editing
  346.  ColorError              = 0x4E       ; error messages
  347.  ColorMsg                = 0x2E       ; messages
  348.  ColorTitle              = 0x70       ; status bar
  349.  ColorKbNum              = 0x07       ; keys
  350.  ColorKb                 = 0x30       ; key is active
  351.  ColorKbOff              = 0x37       ; key is inactive
  352.  ColorBar                = 0x02       ; progress indicator
  353.  ColorWin                = 0x70       ; input dialog
  354.  ColorWinBold            = 0x7F       ;  - " -  selected
  355.  ColorWinInput           = 0x3F       ;  - " -  input field
  356.  ColorMenu               = 0x30       ; menu frame
  357.  ColorMenuText           = 0x31       ;  - " - field
  358.  ColorMenuBold           = 0x0F       ;  - " - text
  359.  ColorHelp               = 0x20       ; help frame
  360.  ColorHelpText           = 0x2E       ;  - " - field
  361.  ColorHelpBold           = 0x0F       ;  - " - text
  362.  
  363. ; ---+--- End of Inifile ---+---
  364.  
  365. --------8<--------8<--------8<--------
  366.  
  367.  
  368. ▒▒▒▒ SAV file ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  369.  
  370.         If executed without any parameters, HIEW looks for SAV-file in the
  371. current directory ("HIEW.SAV" or the value of 'savefile' statement in HIEW.INI)
  372. and restores the previously saved (Ctrl-F10) state.
  373.  
  374.  
  375. ▒▒▒▒ XLT file structure ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  376.  
  377. typedef  struct{
  378.    BYTE  sign[ 9 ],             // "HiewXlat",0
  379.          unused[ 5 ],
  380.          versionMajor,          // 0x05
  381.          versionMinor;          // 0x40
  382.    }XLAT_HEADER;
  383.  
  384. typedef  struct{
  385.    BYTE  title[ 16 ],           // show in F8
  386.          tableOut[ 256 ],       // for output
  387.          tableIn[ 256 ],        // for input
  388.          tableUpper[ 256 ];     // for search with ignore case
  389.    }XLAT;
  390.  
  391.  Maximal count xlat-table is 15.
  392.  
  393. ▒▒▒▒ Command line ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  394.  
  395.  Hiew [/SAV=<savefile>] [/INI=<inifile>] [/s]filemask ...[/s][filemask]
  396.  
  397.       /SAV=<savefile>                  - location for savefile
  398.       /INI=<inifile>                   - location for inifile
  399.       [/s] filemask ... [/s][filemask] - more files, include pattern
  400.  
  401.       Option /s toggle search with subdirectories:
  402.  hiew /s *.dll *.exe /s *.txt -> search .dll and .exe with subdir and
  403.                                  .txt only in current catalog
  404.  
  405. ▒▒▒▒ History  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  406.  
  407.  5.03aa  3/10/95 - OS/2: DosSleep( 1L )
  408.                  - Invisible cursor
  409.  5.10ee 22/12/95 - fix: wrong jump with Jc 7E/7F
  410.                  - fix: invalid opsize, if previous byte is 0x0F
  411.                  - save screencopy to the file
  412.                  - "linefeed" option in INI-file
  413.                  - replace is perfomed with a full buffer (was: 1 byte )
  414.                  - OS/2: Hiew gets keys with KbdCharIn (was: getch() )
  415.                      DosSleep(1) removed
  416.  5.11bb 24/01/96 - fix: call/jmp PWORD ptr
  417.  5.13   01/02/96 - fix: wrong marking of secondary string
  418.                    fix: crash during scrolling up, if previous code is
  419.                       24 one-byte commands (for example 24 NOPs )
  420.                    fix: OS/2: trap during the creation of file
  421.  5.14   09/04/96 - fix: ( from 5.13 ) unnecessary prefix 0x66
  422.                  - fix: wrong assembling of [EBP]
  423.                  - fix: arriving of 0x0A during (Pg)Up
  424.                  - leading zero added to all digits in decode mode
  425.                  - pattern search looks like search in decode mode
  426.  5.15   12/05/96 - fix: pattern search truncates pattern string
  427.  5.16   28/05/96 - fix: pattern search can't find "mov ax,?"
  428.  5.20   17/06/96 - NE-executable: Header & segment table
  429.  5.21   27/06/96 - NE-executable: support of TransSegment calls
  430.  5.22   01/07/96 - Fill block
  431.  5.23   12/07/96 - NE-executable: support of entry table
  432.  5.24   30/07/96 - fix: crash after replace in decode mode
  433.  5.30   20/12/96 - Support of LX-executables (header, object table, call/jmp)
  434.                  - Named ordinals in NE- and LX-executables
  435.                  - fix: invalid percent bar during displaying of long files
  436.                  - fix: assembling of relative jmp/call > 8000
  437.                  - fix: Saving of hiew.sav before edition disables write operation
  438.  5.31    9/01/97 - Alt-O in decode: show/don't show ordinal names
  439.                  - fix: incorrect far jump/call in exe-MZ (from 5.30)
  440.  5.40   29/01/97 - F4 in NE/LX header: goto the top of NE(LX) image
  441.                  - F8 in text: selection of translation table
  442.                  - Alt-G: toggle Global/Local offset in NE(LX) files
  443.  5.41   31/01/97 - "AutoCodeSize" in INI-file: automatic definition
  444.                      of code size (32/16) of LX
  445.                  - Alt-R: Reload file
  446.                  - fix: russian 'p'
  447.  5.50   10/02/97 - support of PE-executable (header, object table)
  448.                  - "KbdFlush" in INI-file: flush keyboard buffer
  449.  5.51   27/02/97 - jmp/call are showed as local ones
  450.                  - import of names from NT's PE
  451.                  - input (F5) local offset, if first symbol is '.'
  452.                  - insert "call"/"jmp" before system functions
  453.                  - "ViewOffset" in INI-file
  454.  5.52    4/03/97 - for the local offset in NE/LX/PE pattern search is perfomed
  455.                    only in code segment
  456.  5.53   18/03/97 - "RunningOffsetMask" in INI-file
  457.                  - bug in HIEW.XLT fixed: wrong table of upper symbols
  458.  5.60   10/04/97 - option /s in command line
  459.                  - fix: loosing of double prefix 66(67)
  460.                  - fix: assembling of relative jmp/call > 8000 bytes
  461.                      (fix in 5.30 is incorrect)
  462.                  - fix: jmp/call with prefix 67
  463.  5.61    2/06/97 - new releases of NEDUMP.EXE and LXDUMP.EXE (ability to show
  464.                      named ordinals from hiew.ord)
  465.                  - assembles "rep cmpsd" as F3 66 A3 ( was: 66 F3 A3 )
  466.                  - for the binary files 'line feed' defined as CR/LF
  467.                  - length of line in decode mode increased
  468.  5.65   24/07/97 - xor with a string added in crypt mode
  469.  5.66    4/08/97 - fix: trap in Win'95 - unnecessary free()
  470.  5.67   14/01/98 - fix: wrong translation of big blocks
  471.  5.70   13/03/98 - fix: text files, beginning with 'NE'...
  472.                  - calculator with parenthesises and priorities (Alt-=)
  473.                  - Pentium(R) Pro (dis)assembler (includes floating and MMX)
  474.  5.71   30/03/98 - shows import of delphi exe
  475.  5.80    7/04/98 - support of LE-modules
  476.                  - new release of LXDUMP.EXE (supports LE)
  477.  5.81   10/04/98 - bugfixed release of 5.80
  478.  5.82   28/04/98 - internal changes
  479.  5.83    7/05/98 - fixed bug (5.70): crash with a long string in Crypt mode
  480.  5.84   13/05/98 - Alt-9 restores the last edited position
  481.  5.85   10/06/98 - fix: prtScr into existed file
  482.                  - F5 in FindInput: go to the last position
  483.                  - "XlatTableIndex" in ini-file
  484.  5.90    9/07/98 - List of files
  485.                  - "FlistSort" in ini-file
  486.                  - "FlistSortReverse" in ini-file
  487.                  - "FlistShowHidden" in ini-file
  488.                  - "NextFileSaveOffset" in ini-file
  489.                  - command line parameter "/SAV=<savefile>" (was: "/FS=")
  490.                  - new parameter in command line "/INI=<inifile>"
  491.                  - fix: lose of the first empty line in the text
  492.  5.91   17/08/98 - Alt-R in Filelist (reread catalog)
  493.                  - fix: swithing to the beginning of the EXE-image
  494.                  - include DEXEM.EXE - DualEXEcatableManipulator (NE/LX/LE)
  495.                     ( replace stub, split old-exe & new-exe, ...)
  496.  5.92   21/09/98 - Alt-S in decode: toggle scancode step (byte/command)
  497.                  - "timeslice" in Windows
  498.                  - import of PE has been changed
  499.                  - fix: empty filelist in the command prompt
  500.                  - fix: restore current offset from .sav
  501.  6.00   19/10/98 - "ActionAfterWriteSavefile" has been removed from ini-file
  502.                  - "NextFileSaveOffset" has been removed from ini-file
  503.                  - no more crypt, sorry...
  504.                  - support of NLM-module
  505.                  - history of files (Backspace, Tab)
  506.                  - history input (PgDown in edit input string)
  507.                  - Ctrl-* marks all
  508.                  - "SaveFileAtExit" in ini-file
  509.                  - "ScanStep" in ini-file
  510.                  - "Savefile" in ini-file
  511.                  - "NextFileSaveState" in ini-file
  512.                  - DEXEM.EXE v1.50 supports PE
  513.  6.01    9/12/98 - crypt returned !
  514.                  - Info moved to Ctrl-Alt
  515.                  - fix: trap while scanning PE with zero virualSize
  516.                      in the PE-section
  517.  6.02   26/01/99 - fix: wrong canonization of names from CD
  518.                  - auto switching of ascii/hex in search string input removed
  519.                  - scale in info
  520.                  - dos version compiled for 80286
  521.  6.03    3/03/99 - Decode: Alt-F7(Auto) moved to Alt-F9
  522.                  - Alt-F7 swithes search direction
  523.                  - help moved to F1
  524.                  - save search position durind the change of modes
  525.                  - (OS/2 & KbdFlush=off) updates screen when keys aren't pressed
  526.                  - Dexem.exe  v1.51
  527.                  - Lxdump.exe v2.02
  528.  6.04   26/03/99 - fix: jmp 0xFFFFFFFF haven't displayed target
  529.                  - fix: division by zero with 'A%0' in calculator
  530.                  - fix: incorrect assembling of Jxx in 32bit mode
  531.                  - fix: backward search with '0xFF 0xFF 0xFF... 0xFF' :-)
  532.                  - 32bit mode: 'mov SegReg,Reg16' displays instead of 'Reg32'
  533.                  - multiline search with pattern in decode mode (undocumented since 5.83)
  534.                  - syncronize toggle flag of search direction
  535.                  - search conditions are saved during swithching to the next file
  536.                  - key '/' in decode mode: current offset at top
  537.  6.10   24/05/99 - multifile search/replace in the files from command string
  538.                  - selection of marked block from the history file for GetBlock
  539.                  - fix: in multiline assembler search
  540.  6.11    2/07/99 - fix: crash with the big block filling
  541.  6.15    7/07/99 - SHAREWARE version
  542.  6.16   19/08/99 - undate english doc (Thanks to Roman P.)
  543.  
  544. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ = YES = ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  545.  
  546.