1 Hexedit version 0.9.3 by Adam Rogoyski <apoc@laker.net> Temperanc on EFNet 2 Copyright (C) 1998, 1999 Adam Rogoyski 3 4 --- GNU General Public License Disclamer --- 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 15 ** THIS IS NOT THE OFFICIAL DOCUMENTATION ** 16 I forget to update this file. The Texinfo or LaTeX documentation is what 17is really worth reading. Look in docs/ direcotry. 18 19 20 Hexedit Version 0.9.3 is a full screen text mode Hex editor using the 21curses library. 22 23 Hexedit needs to be run in a screen with at least 80 columns or it will 24not look very good. At least an 80x10 screen minimum. It will look fine 25at any larger modes. It should resize fine in an xterm. 26 27I've built and tested this on the following systems: 28 Linux 2.0.36 i386 ncurses 4.2 (gcc) 29 Linux 2.2.3 i386 ncurses 4.2 (gcc) 30 OpenBSD 2.4 i386 ncurses (gcc) 31 SunOS 5.6 Sparc curses (gcc) 32 AIX 4.3.2 rs6000 curses (gcc and cc) 33 AIX 4.3.2 ppc curses (gcc and cc) 34 DOS 6.22 i386 pdcurses (djgpp gcc) 35 IRIX 6.3 mips curses (gcc) 36 HP-UX B.10.20 curses (gcc) 37 SunOS 5.5.1 sparc curses (gcc) 38 OSF V4.0 alpha curses (gcc) 39 40 41COLOR: 42 43 SunOS/Solaris: 44 For color, try TERM=AT386, else vt100. 45 46 AIX Users: 47 You can use TERM=aixterm for color, but when not in X it seems 48 to get the colors mixed up. 49 50 LINUX USERS: 51 If the editor is not using the last line of the screen, you probably 52 didn't set your TERM environment to linux. 53 in bash: export TERM=linux 54 in tcsh: setenv TERM linux 55 Also try vt100 if linux doesn't work. Color seems to work with 56 TERM=linux. 57 58 59 60Controls: 61 62Maneuver Arrow Keys (or h,j,k.l), Home, End 63Page Up Control-y, Control-b, Alt-v, Page Up, u, y 64Page Down Control-v, Control-f, Page Down, v, space 65Bytes <=> Text Tab, Control-i 66Insert/Add Byte Control-a, Insert 67Delete byte control-d, Delete 68goTo Offset Control-t, t 69Offset + Jump +, -, n (jump again) 70Help Control-g 71Redraw Screen Control-l 72Save Control-o 73Save and Quit Control-x 74Quit (no save) Control-c 75viEw as text Control-e 76Search Control-w, w 77find Next Control-n 78Undo Control-u 79ASCII <=> EBCDIC Control-R 80Switch Spacing Control-P 81Binary Calculator Control-/ 82 83 84 NOTE: 85 - For some commands, Control-x, Control-g and Escape are cancel. 86 Escape may take a second to work. This is normal, it is how curses 87 works and deals with input I believe. 88 - Viewing as text may seem messed up when looking at big binary 89 chunks (why do you want to view this as text anyways?), but 90 it's fine. When looking at binary in text, I had to decide how 91 to display files with little or no newlines so that text 92 portions look ok and the same each time. So it looks back to the 93 last new line and starts from there. So the part you may want 94 to look at may not even be on the screen. To me, this isn't 95 a problem - It's a binary file, look at it in hex! Also, all non 96 printable characters, even newlines, are represented as "." even 97 in the full screen text mode. 98 NOTE: This only takes a snapshot of the current section, you cannot 99 use this feature as a fileviewer of text. It just lets you see 100 a quick snapshot of what it would like like in text. 101 - Goto Offset command takes input as either Hex (i.e. 0xFF), Octal 102 (i.e. 0377) or Base 10 (i.e. 255). I know what you're thinking, 103 but no, strtol () does this for you. 104 - I put a few different ways to page up and down because most 105 people are used to vi or emacs. I personally like how pico is 106 set up. Any other resemblances to pico are purely my doing. 107 - Year 2000 compliant. =) 108 - Searching uses the Boyer-Moore search algorith, and the whole 109 file is in memory, so it's fast. Real fast. 110 - Changes are highlighted in bold. If you insert or delete a byte, 111 all bold is removed until you change something else. This seems 112 like the best thing to do here. Or else I'd be highlighting all 113 the rest of the file. 114 - Undo: for undo, if the modified byte is on the screen, it is reverted 115 to it's previous state. If it is not on the screen, you are brought 116 to the byte's location so it is viewable on the screen. The next 117 Undo command will revert the byte back to it's previous state. 118 - Environment variable HEXEDIT can be used to save your command line 119 options. Example, export HEXEDIT=-8r would put hexedit into 120 readonly mode with 8-bit printing on by default. 121 122BUGS - DRAWBACKS 123 124 - You currently can only edit files and disks up to 4.2 gigs. 125 - On SunOS if you use control-v for page down you have to do it 126 twice. This has to do with the terminal driver interpreting 127 Control-v for it's purposes. If there is a portable way to 128 changes this let me know. 129 *** I've been informed that this is a normal terminal driver thingy. 130 Still, how do I get around it? 131 - I've had different results with older versions of ncurses. Tell 132 me if anything breaks. It should work though. 133 134 135 If there are any problems and bugs please send me mail so I can fix 136 them. If you have any extra computer stuff, money, guitar stuff, 137 or anything Stevie Ray Vaughan that you don't want please contact me. 138 139 140 Shameless plugs: 141 Video Game Expresss! http://www.vgeonline.com 142 Lisa Loeb Web Shrine http://www.lisaloeb.org 143 144 Author: 145 Adam Rogoyski <apoc@laker.net> 146 As of January 1999, I am a sophomore of Computer Science at the 147 Univeristy of Texas at Austin. 148