Difference between revisions of "Main Page"

From wxHexEditor
Jump to navigation Jump to search
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''wxHexEditor's wiki page has been successfully installed.'''
Welcome to wxHexEditor wiki pages.
In this wiki, we try to introduce you the wxHexEditor and give some hits about it's usage and features.
I try to build a documentation here.
Version information and change logs of the wxHexEditor is [[Versions| here!]]
= Tips =
= Tips =
== Offset Mode Change ==
*[[Offset Mode Change]]
You can change address mode between decimal, hexadecimal, octal or sector:decimal (only available on block devices) just by '''Right Click'''ing to offset area of the file
*[[Offset Increase & Decrease by 1 with Mouse]]
*[[Copy Offset Address]]
[[File:AddressModeChange.gif|Right click to address area]]
*[[Copying Hex or Text]]
*[[CLI - Command Line Interface]]
== 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 <pre>74 65 73 74 66 69 6C 65 74 65 73 74 66 69 6C 65</pre>
If Text panel is active, than copy function copies the selection as in binary format, like <pre>testfiletestfile</pre>
== 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'''
== Features ==
= Features =
*[[Easy Block Selection]]
*[[Panels#Disassembler_Panel | x86 Disassembler]]
=== Save as Dump===
*[[Save as Dump]]
Do you need save a part of the file in binary? This feature for you.
*[[Fill Selection]]
*[[Delete and Insert Operations]]
Just select to blocks that you want to dump and
*[[Process RAM]]
*[[File Support]]
'''Right Click -> Save As Dump -> Select destination file -> Save'''
*[[Device Image Tools]]
=== Fill Selection ===
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.
== Tools ==
== Tools ==
*[[Binary File Comparator]]
*[[File Checksum Generator]]
=== Binary File Comparator ===
*[[XOR ViewThru]]
== Customization ==
wxHexEditor could compare 2 files and show differences of them via adding TAGs.
*[[Multi Language Support]]
Only half million of differences are allowed.
*[[Character Encoding Support]]
*[[Custom Hex Formatting]]
*Supported options are:
*[[Bytes Per Line Limit]]
** 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 ===
wxHexEditor could generate checksums for defined files.
'''Also can generate multiple hash at one pass.'''
The [http://mhash.sourceforge.net/ 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
=== XOR ViewThru ===
Do you want to edit a file that encrypted(!) with XOR? I do (At [[http://www.samygo.tv 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.
== Devices ==
=== Open RAM ===
wxHexEditor cannot open physical RAM device yet.
=== 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 ===
==== Backup ====
wxHexEditor could save RAW disk/partition images into a file under all supported OSes.
==== Erase ====
wxHexEditor could fill block devices/partitions with zeros under all supported OSes.
==== Restore ====
wxHexEditor could restore a block device/partitions from raw file under all supported OSes.
== Preferences ==
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:
* Arabic
* Czech
* Chinese (China)
* French
* Dutch (Netherlands)
* German
* Italian
* Polish
* Portuguese
* Spanish
* Russian
* Turkish
If you want to have wxHexEditor in your language, please send request to [https://www.transifex.com/projects/p/wxhexeditor/ 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
==== DOS ====
** 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
==== Industrial Standard ====
** *JIS X 0201 - Japanese Industrial Standard
** *Shift JIS
** *TIS-620 - Thai Industrial Standard 620-2533
** *ANSEL - American National Standard for Extended Latin
==== KOI ====
** KOI7 Код Обмена Информацией, 7 бит
** KOI8-R Код Обмена Информацией, 8 бит
** KOI8-U Код Обмена Информацией, 8 бит
==== Macintosh ====
** 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
==== UTF ====
** 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 ====
** *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
==== Other ====
** DEC Multinational Character Set - VT220
** Unicode
==== Experimental ====
** *AtariST
** *Big5
** *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  "
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.
== Panels ==
All panels of the wxHexEditor is detachable from main window.
You could change their locations and or visibility of them as you want.
=== DataInterpteter Panel ===
Data Interpreter Panel shows the value at current cursor location.
*Allowed interpretation values are
** 8 Bit
** 16 Bit
** 32 Bit
** 64 Bit
** Float
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 ===
Toolbar allows you to select required functions easy. But if you want, you can hide the toolbar from menu '''View -> Toobar'''.
=== Info Panel ===
Info panel gives you some information about currently selected file.
* Name
* Path
* Size
* Access Mode
* Device Type
* Sector Size (only shown for block devices.)
* Sector Count (only shown for block devices.)
=== TAG Panel ===
TAG Panel allows you to branch selected TAG region.
=== Disassembler Panel ===
wxHexEditor have an disassembler for x86 CPU codes using [http://udis86.sourceforge.net 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.
=== Search Panel ===
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 ===
Comparison panel automatically open if you compare 2 files. Panel has it's own TAG system to show differences.

Latest revision as of 01:38, 31 December 2017