wxHexEditor's wiki page has been successfully installed.
I try to build a documentation here.
- 1 Tips
- 1.1 Offset Mode Change
- 1.2 Copy Offset Address
- 1.3 Copy Hex or Text
- 1.4 Easy Block Selection
- 1.5 Features
- 1.6 Tools
- 1.7 Devices
- 1.8 Preferences
- 1.8.1 Multi Language Support
- 1.8.2 Character Encoding Support
- 1.8.3 Custom Hex Formating
- 1.8.4 Custom Byte Per Line Limit
- 1.9 Panels
Offset Mode Change
You can change address mode between decimal, hexadecimal, octal or sector:decimal (only available on block devices) just by Right Clicking to offset area of the file
Copy Offset Address
You don't need to select and copy address from offset panel. Just move your mouse to what address you want to copy and issue a Left Click. Value of the offset will be copied to system clipboard.
Copy Hex or Text
In wxHexEditor, active panel defines the copy format.
If Hex panel is active (have a cursor), copy function copies the selection as in hex format like
74 65 73 74 66 69 6C 65 74 65 73 74 66 69 6C 65
If Text panel is active, than copy function copies the selection as in binary format, like
Easy Block Selection
You want to select big blocks? You can start block/stop block feature for define blocks.
Press Left Click to move cursor to mark beginning offset -> Right Click -> Set Selection Block Start - > Left Click to move cursor to mark end offset -> Right Click -> Set Selection Block End
Save as Dump
Do you need save a part of the file in binary? This feature for you.
Just select to blocks that you want to dump and
Right Click -> Save As Dump -> Select destination file -> Save
With this feature, you can fill the selected area with any hex value that you want.
Select a block -> Right Click -> Fill Selection -> Enter the hex value that you want -> Click OK
Delete and Injection Operations
wxHexEditor can delete and inject bytes into middle of the file, on the fly, without require of saving the file. Drawback of this feature is it cannot apply changes into file itself (yet). Instead, you have to use "Save As" function to save injected files.
Binary File Comparator
TODO PICTURE HERE
wxHexEditor could compare 2 files and show differences of them via adding TAGs. Only half million of differences are allowed.
- Supported options are:
- Search for different or same bytes.
- Merge sections if close as X bytes.
- Save results to file.
- Connect files for scrolling.
- This option open the files side by side and other file will follow your scroll if you change your view.
File Checksum Generator
TODO PICTURE HERE
wxHexEditor could generate checksums for defined files.
Also can generate multiple hash at one pass.
The mhash library is used for calculate the checksums.
- Allowed checksum functions are:
- MD2, MD4, MD5
- SHA1 (SHA128), SHA256, SHA384, SHA512
- RipeMD128, RipeMD160, RipeMD256, RipeMD320
- HAVAL128, HAVAL160, HAVAL192, HAVAL224, HAVAL256
- TIGER128, TIGER160, TIGER192
- ADLER, CRC32, CRC32B, WHIRLPOOL, GOST, SNEFRU128, SNEFRU256
TODO Do you want to edit a file that encrypted(!) with XOR? I do (At [SamyGO.tv Project]. Thanks to SAMSUNG's engineers for use this dummy encryption technique...) So wxHexEditor has a unique feature that, you can edit the files directly even if they encrypted with XOR.
Open Process Memory
wxHexEditor could open process memory space at least under Linux.
You need to have enough permissions to do that. (I mean, root)
Devices -> Open Process RAM -> Enter PID -> Click OK
Open Disk Devices
wxHexEditor is indeed a DiskEditor and could open disk/block devices for editing, inspecting them without any problem at Linux, Windows and MacOSX.
Device Image Tools
wxHexEditor could save RAW disk/partition images into a file under all supported OSes.
wxHexEditor could fill block devices/partitions with zeros under all supported OSes.
wxHexEditor could restore a block device/partitions from raw file under all supported OSes.
TODO ADD PICTURE OF PREFs.
wxHexEditor allows you to change:
- Hex/Text foreground, background and zebra stripes colors.
- Hex/Text selection foreground and background colors.
- Language of wxHexEditor
- Character encoding of the hex editor.
- Character size of the hex editor.
- Custom Hex Formatting
- Bytes Per Line Limit
Multi Language Support
wxHexEditor supports localization.
Currently wxHexEditor translated to 12 languages:
- Chinese (China)
- Dutch (Netherlands)
If you want to have wxHexEditor in your language, please send request to Transifex wxHexEditor page.
Character Encoding Support
wxHexEditor supports too many character encodings.
Note that, encodings that marked with star (*) will appear under Experimental Character Encoding family at wxHexEditor.
Because some part of the characters broke proper text show due has different character sizes or right to left texts.
Code for Information Exchange
- ASCII - American
- *ISCII - Indian Script Code for Information Interchange
- VSCII - Vietnamese Standard Code for Information Interchange
- *TSCII - Tamil Script Code for Information Interchange
- OEM - IBM PC/DOS CP437 - MS-DOS Latin US
- *PC/DOS CP720 - MS-DOS Arabic
- PC/DOS CP737 - MS-DOS Greek
- PC/DOS CP775 - MS-DOS Baltic Rim
- PC/DOS CP850 - MS-DOS Latin 1
- PC/DOS CP852 - MS-DOS Latin 2
- PC/DOS CP855 - MS-DOS Cyrillic
- *PC/DOS CP856 - Hebrew
- PC/DOS CP857 - MS-DOS Turkish
- PC/DOS CP858 - MS-DOS Latin 1 Update
- PC/DOS CP860 - MS-DOS Portuguese
- PC/DOS CP861 - MS-DOS Icelandic
- *PC/DOS CP862 - MS-DOS Hebrew
- PC/DOS CP863 - MS-DOS French Canada
- *PC/DOS CP864 - MS-DOS Arabic 2
- PC/DOS CP866 - MS-DOS Cyrillic Russian
- PC/DOS CP869 - MS-DOS Greek 2
- PC/DOS CP1006 - Arabic
- PC/DOS KZ-1048 - Kazakhstan
- PC/DOS MIK Code page
- PC/DOS Kamenický Encoding
- PC/DOS Mazovia Encoding
- *PC/DOS Iran System Encoding Standard
EBCDIC - Extended Binary Coded Decimal Interchange Code
- EBCDIC 037 - IBM U.S. Canada
- EBCDIC 285 - IBM Ireland U.K.
- EBCDIC 424 - IBM Hebrew
- EBCDIC 500 - IBM International
- EBCDIC 875 - IBM Greek
- EBCDIC 1026 - IBM Latin 5 Turkish
- EBCDIC 1047 - IBM Latin 1
- EBCDIC 1140 - IBM U.S. Canada with €
- EBCDIC 1146 - IBM Ireland U.K. with €
- EBCDIC 1148 - IBM International with €
ISO / IEC
- ISO/IEC 6937
- ISO/IEC 8859-1 Latin-1 Western European
- ISO/IEC 8859-2 Latin-2 Central European
- ISO/IEC 8859-3 Latin-3 South European
- ISO/IEC 8859-4 Latin-4 North European
- ISO/IEC 8859-5 Latin/Cyrillic
- *ISO/IEC 8859-6 Latin/Arabic
- ISO/IEC 8859-7 Latin/Greek
- *ISO/IEC 8859-8 Latin/Hebrew
- ISO/IEC 8859-9 Latin/Turkish
- ISO/IEC 8859-10 Latin/Nordic
- *ISO/IEC 8859-11 Latin/Thai
- ISO/IEC 8859-13 Latin-7 Baltic Rim
- ISO/IEC 8859-14 Latin-8 Celtic
- ISO/IEC 8859-15 Latin-9
- ISO/IEC 8859-16 Latin-10 South-Eastern European
- *JIS X 0201 - Japanese Industrial Standard
- *Shift JIS
- *TIS-620 - Thai Industrial Standard 620-2533
- *ANSEL - American National Standard for Extended Latin
- KOI7 Код Обмена Информацией, 7 бит
- KOI8-R Код Обмена Информацией, 8 бит
- KOI8-U Код Обмена Информацией, 8 бит
- Macintosh CP10000 - MacRoman
- Macintosh CP10007 - MacCyrillic
- Macintosh CP10006 - MacGreek
- Macintosh CP10079 - MacIcelandic
- Macintosh CP10029 - MacLatin2
- Macintosh CP10081 - MacTurkish
Remaining Macintosh encodings are only supported under OSX version of wxHexEditor
- Macintosh Arabic
- Macintosh Celtic
- Macintosh Central European
- Macintosh Croatian
- Macintosh Cyrillic
- Macintosh Devanagari
- Macintosh Dingbats
- Macintosh Gaelic
- Macintosh Greek
- Macintosh Gujarati
- Macintosh Gurmukhi
- Macintosh Hebrew
- Macintosh Icelandic
- Macintosh Inuit
- Macintosh Keyboard
- Macintosh Roman
- Macintosh Romanian
- Macintosh Symbol
- Macintosh Thai
- Macintosh Tibetan
- Macintosh Turkish
- Macintosh Ukraine
- UTF8 - Universal Character Set
- UTF16 - Universal Character Set
- UTF16LE - Universal Character Set
- UTF16BE - Universal Character Set
- UTF32 - Universal Character Set
- UTF32LE - Universal Character Set
- UTF32BE - Universal Character Set
- *Windows CP874 - Thai
- *Windows CP932 - Japanese (Shift JIS)
- *Windows CP936 - Chinese Simplified (GBK)
- *Windows CP949 - Korean (EUC-KR)
- *Windows CP950 - Chinese Traditional (Big5)
- Windows CP1250 - Central and Eastern European
- Windows CP1251 - Cyrillic Script
- Windows CP1252 - ANSI
- Windows CP1253 - Greek Modern
- Windows CP1254 - Turkish
- *Windows CP1255 - Hebrew
- *Windows CP1256 - Arabic
- Windows CP1257 - Baltic
- Windows CP1258 - Vietnamese
- DEC Multinational Character Set - VT220
- *GBK - GB2312 - Guojia Biaozhun (国家标准)
- *EUC-JP Extended Unix Code for Japanese
- *EUC-KR Extended Unix Code for Korean
Custom Hex Formating
wxHexEditor allows customized HEX formatting. You can have any (also weird) hex representation that you want to have.
For this, please use Preferences dialog and enable Custom Hex Formatting option.
Format is easy to understand. But there are some rules.
- Rules of Custom Hex Formatting
- Each x letter represent one HEX digit.
- Each blank character represent one blank character HEX digits.
- The custom hex format will repeat itself until hex area filled.
- You can avoid repeating custom by using Byte Per Line Limit
- If there are no space to complete next whole custom format, remaining area will not rendered.
In this dialog we defined 3 common hex representation.
"xxxx " "xx xx xx xx xx xx xx xx " (note that there is an extra blank at the end.) "xxxx xxxx xxxx xxxx " (with an extra blank at the end also.)
But you can define your custom hex formatting, like:
"xxx xxxx xxxxxx x "
TODO PICTURE HERE
Note that, Custom Hex Formatting feature could/will lead wrong address representation at top bar, which is purely cosmetic error.
Custom Byte Per Line Limit
In normal operation, wxHexEditor adjust the byte count per line looking the window space dynamically.
But some users want to have exact byte count per line, like 16 or 32 generally.
With Byte Per Line Limit feature, you can define the maximum byte per Hex line.
wxHexEditor doesn't render more data for the line even there is a space for that and protect the data align.
All panels of the wxHexEditor is detachable from main window. You could change their locations and or visibility of them as you want.
Data Interpreter Panel shows the value at current cursor location.
- Allowed interpretation values are
- 8 Bit
- 16 Bit
- 32 Bit
- 64 Bit
With enabling the "edit" mode, you can change the value of the byte using binary text.
After change, you have to press enter to apply the value to byte at current cursor offset.
Toolbar allows you to select required functions easy. But if you want, you can hide the toolbar from menu View -> Toobar.
Info panel gives you some information about currently selected file.
- Access Mode
- Device Type
- Sector Size (only shown for block devices.)
- Sector Count (only shown for block devices.)
TAG Panel allows you to branch selected TAG region.
wxHexEditor have an disassembler for x86 CPU codes using udis86 library.
You can select CPU type (AMD or INTEL), assembly format (INTEL or AT&T) and code bit lengths (16,32 or 64 bit).
Disassembler panel will try to interpret binary starting from the current cursor offset.
wxHexEditor supports "Find All" operation, that search the file from start to end and shows multiple matches at search panel.
At the search result panel, each match will indicated with a decimal offset of the match.
You can branch each individual match by clicking them from search panel.
Also you can clear search TAGs by clicking Clear button at search panel.
Comparison panel automatically open if you compare 2 files. Panel has it's own TAG system to show differences.