Difference between revisions of "Main Page"

From wxHexEditor
Jump to navigation Jump to search
Line 96: Line 96:
  
 
'''Devices -> Open Process RAM -> Enter PID -> Click OK'''
 
'''Devices -> Open Process RAM -> Enter PID -> Click OK'''
 +
 +
Also you can open the PID with using this command line on start up:
 +
wxHexEditor --pid=<PID>
  
 
=== Open Disk Devices ===
 
=== Open Disk Devices ===
Line 109: Line 112:
  
 
== Preferences ==
 
== Preferences ==
'''TODO ADD PICTURE OF PREFs.'''
+
[[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 ===
 
=== Multi Language Support ===
wxHexEditor supports localization.
+
[[Multi Language Support]]
 
 
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 ====
+
== Character Encoding Support ==
** *Windows CP874 - Thai
+
[[Character Encoding Support]]
** *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 ====
+
=== Custom Hex Formatting ===
** DEC Multinational Character Set - VT220
+
[[Custom Hex Formatting]]
** 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  "
 
'''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 ===
 
=== Custom Byte Per Line Limit ===
In normal operation, wxHexEditor adjust the byte count per line looking the window space dynamically.
+
[[Bytes Per Line Limit]]
 
 
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 ==
 
== Panels ==
All panels of the wxHexEditor is detachable from main window.
+
[[Panels]]
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
 
**Binary
 
** 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.
 

Revision as of 23:22, 21 February 2014

wxHexEditor's wiki page has been successfully installed.


I try to build a documentation here.

Tips

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

Right click to address area


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

testfiletestfile


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

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

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

TODO

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

XOR ViewThru

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.

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

Also you can open the PID with using this command line on start up:

wxHexEditor --pid=<PID>

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

Preferences

Multi Language Support

Multi Language Support

Character Encoding Support

Character Encoding Support

Custom Hex Formatting

Custom Hex Formatting

Custom Byte Per Line Limit

Bytes Per Line Limit

Panels

Panels