Edit Anything

Professional text and hex editing
with Binary Templates technology.




What's New in Version 4.0

010 Editor v4.0 now has a new, streamlined interface:

Version 4.0 adds support for word-wrap and editing very large text files:

The new File Bar above each editor provides a more intuitive way to run templates and scripts using the 'Run Script', 'Run Template' and 'Run on File' buttons:

A number of tasks are now performed with a bar at the bottom of the editor including Find, Replace, Find in Files, Goto, and Select Range:

Performing Find All on a text file now lists all lines where the occurrences were found:

Plus much more. To download the latest version, please click the following link:


Version 4.0.4 - March 20th, 2013

  • Fixed Find Strings finding unicode strings on odd byte boundaries.
  • Fixed crash assigning to a non-existent variable from a script.
  • Fixed crash in find hex bytes when using ',a'.
  • Fixed crash when checksum functions are used inside custom read/comment functions.

Version 4.0.3 - November 8th, 2012

  • Fixed crash with Printf when using certain combinations of parameters.
  • Fixed problem using Goto on the Mac.
  • Fixed using on-demand structs within custom read functions in certain cases.
  • Fixed printing multiple copies of files.
  • Disabled redirection of files within the main Windows directory.
  • Fixed some progress issues when using Find functions inside of scripts.
  • Show error instead of crashing when trying to copy huge blocks of data to other applications.
  • Fixed order of some items in the View menu in 'Tools > Options > Keyboard'.

Version 4.0.2 - July 24th, 2012

  • Fixed a crash using Find on certain long text files.
  • Fixed a bug with using Export Hex and more than 256 bytes per line.
  • Fixed issues using on-demand structs inside arrays.
  • Fixed color picker issues on the Mac.
  • Fixed last two lines of a customized Inspector disappearing in certain cases.
  • Fixed background colors not being cleared properly when a template was cleared.
  • Fixed a notification during installation about an expired license.
  • Now signing the installer using SHA-1.

Version 4.0.1 - June 6th, 2012

  • Fixed crash with a custom Auto-Inspector and certain long operations.
  • Fixed crash with wordwrap on very long lines.
  • Fixed Paste from Hex Text on Mac OS X.
  • Fixed clicking on a bookmark, variable, or find result will always select bytes in the editor.
  • Fixed editing bookmarks that contain arrays.
  • Fixed issues with the Find results when searching for text containing linefeeds.
  • Fixed enums and different numeric formats when displaying local variables.
  • Fixed adding or removing 010 Editor from the Windows Explorer right-click menu using the Options dialog.
  • Fixed the Output tab automatically scrolling down as text is added.
  • Fixed the FindNext function should not be selecting data.
  • Fixed the FindNext function when used with DeleteBytes in a loop.
  • Fixed crash with the HexOperation function on a new file.
  • Fixed the Short type specifier in the Goto Bar.
  • Fixed allowing hotkeys to be set for Mark Selection Start/End.
  • Fixed misplaced cursor when changing the endian of a Unicode file.
  • The Goto and Select Range Bars now accept extra whitespace.

Version 4.0 - May 14th, 2012

The following is an overview of the new functionality in version 4.0 of 010 Editor:

  • Streamlined interface with a simplified tool bar.
  • Easier, more intuitive way to run Templates or Scripts using the File Bar above each editor.
  • Added support for word wrap and text files with a huge number of lines.
  • Tools such as Find, Replace, Find in Files, Goto, Select Range are now displayed in a bar below each editor for a better workflow.
  • Can customize the Auto Inspector using a custom Template.
  • Revamped Find tool allows searching for variables in the Template Results.
  • When a Find All or Find in Files is done on a text file, all text lines that contain a match are listed.
  • Added 'Search > Find Strings' dialog for listing all strings in a hex file.
  • Can visually swap bytes in the hex editor without modifying the underlying data.
  • Can restore all open files when 010 Editor is restarted (select 'Restore all open files' on the Startup page).
  • Comments can now specify a custom function using '<comment=<function_name>>'.
  • Printf function now does type checking and automatically casts parameters.
  • Templates can now read from or write to other files when granted special permission.
  • Over 45 new functions for Scripts and Templates.

The following is a list of all new features in version 4.0 of 010 Editor:

  • General
    • Simplified the tool bars and updated some icons.
    • File Bar above each editor provides a more intuitive way to run Templates or Scripts.
    • Can restore all open files when 010 Editor is restarted (select 'Restore all open files' on the Startup page).
    • View menu now shows different options when using a text-based interface or hex-based interface.
    • In the Workspace, can sort the list of recent files by Name or by Time using the right-click menu (sort by Time is the default now).
    • Startup page has been redesigned with resizable sections.
    • Can customize the polynomial and initial value for CRC checksums.
    • Added more options to the 'View > Addresses' menu.
    • Use 'View > Addresses > Shorts' for displaying addresses as words (all addresses are divided by 2).
    • Can switch File Interfaces using the Edit As section of the File Bar.
    • Right-click on the Output panel to Copy All, Export Text, or Clear.
    • Can apply Highlighting rules by Shorts.
    • The Welcome dialog allows inputting a license when 010 Editor is in trial mode.
    • Added '-saveall' command line option.
    • Added 'Copy File Path' command to the File Tab right-click menu.
    • Synchronize Scrolling now only scrolls files that are visible.
    • Cannot change a hex-based interface to a text-based interface or vice versa.
    • When opening a file that is already opened, the file is selected before being asked to create a duplicate.
    • Right-click on the application when all tabs are closed for an option to show the Startup Page.
    • Removed comment column for bookmarks (currently unused).
    • 010 Editor configuration file is saved more often.
    • Configuration file now stored in 'Users\<Username>\AppData\Roaming\SweetScape\010 Editor\010Editor.cfg' on Windows.
    • Windows Explorer right-click menu now lists '010 Editor' instead of '010 Editor v3'.
    • Updated help viewer.
  • Text Editor
    • Added support for text files with huge numbers of lines.
    • Any long text lines over the maximum line length will be split into multiple lines and marked by '-' in the address column.
    • The maximum line length can be set using the Text Editor Options dialog.
    • Clicking after the last line always moves the cursor to the last byte.
    • Hide the Group By, Division Lines, Left Area, Right Area, Line Width options in the View menu for text files.
    • Word Wrap
      • Can automatically wrap lines that are longer than the text editor window with 'View > Linefeeds > Toggle Word Wrap' or Ctrl+;.
      • Word Wrap can be turned on automatically using 'View > Linefeeds > Initial Wrap State > Auto-detect'.
      • '/wrap' is displayed in the Edit As section of the File Bar above each editor when Word Wrap is turned on.
      • Can wrap on the window edge or a custom column using 'View > Linefeeds > Wrap Width'.
      • Can wrap on letters instead of words using 'View > Linefeeds > Wrap Method'.
      • Word Wrap is supported for files with a large number of lines.
    • Byte-Order Marks
      • Added better support for working with Byte-Order Marks (BOMs).
      • Auto-detect UTF-8 BOMs.
      • Status Bar displays '+B' when a BOM is present.
      • Add or remove BOMs using 'Tools > Convert'.
      • Can auto-add BOMs to new files using the File Interface Options dialog.
  • Hex Editor
    • Can visually swap bytes in the hex editor without modifying the underlying data.
    • Bytes can be swapped in groups of 2, 4, 8, etc. (use 'View > Group By' menu to enable).
    • Display 'LIT<>' in the status bar when swapping bytes is enabled.
    • Set the number of bytes per line in a hex editor using 'View > Line Width'.
    • Hide the Linefeeds and Tabs/Whitespace options in the View menu for hex files.
  • Find
    • Find/Replace/Find in Files/Replace in Files now performed from a bar at the bottom of the editor.
    • When a Find All or Find in Files is done on a text file, all text lines that contain a match are listed.
    • Revamped Find/Replace tools with icons for Find/Replace Next/Previous.
    • Added 'Search > Find Strings' dialog for listing all strings in a hex file.
    • Can search for Variables in the Template Results using the Find Bar.
    • Selecting a Find occurrence in the editor highlights that occurrence in the Find results.
    • Can list all replacements after doing a Replace All (see 'Show All Replacements' in the Find Bar Options).
    • Lock Find/Replace to a selection using 'Lock Selection' in the Find Bar Options.
    • The locked selection will be colored brown and used for Find/Replace until unlocked.
    • Can display the address in the Find results in more formats.
    • Show or hide the size column in the Find results (hidden by default).
    • Ignoring case and match whole word work better when finding extended unicode characters.
    • Find in Files list updates automatically when the files are edited.
    • Can turn off wrapping for find (see Find Bar Advanced Options).
    • Can list all files when doing a Find in Files operation.
    • Can turn off the use of Find Specifiers using the Find Bar Advanced Options.
    • When searching for Unicode, selected Unicode text is automatically copied to the Find Bar when it is opened.
    • Default to Unicode Find type when finding in a Unicode file.
  • Scripts/Templates
    • Use 'Run Script', 'Run Template' or 'Run on File' sections above each editor for running scripts and templates.
    • Comments can now specify a custom function using '<comment=<function_name>>'.
    • Templates can now read from or write to other files when granted special permission.
    • Permissions can be controlled using the Permissions section of the Options dialog and can be turned off for all files.
    • Support searching in the Template Results (use 'Variable Name'/'Variable Value' in the Find Bar).
    • From the Template Results right-click menu, can either expand all nodes of the selected node (Expand all Children of Node) or expand all nodes in the tree (Expand All Nodes).
    • Right-click on a numeric template variable and choose 'Goto > Goto Address' or 'Goto > Goto Sector'.
    • Can override the string displayed in the Name column of the Template Results using '<name="<string>">' or '<name=<function_name>>'.
    • On Windows can right click on a script or template in the Scripts or Templates menu and select 'Edit Script' or 'Edit Template'.
    • Updated included scripts to using RequiresFile and GetScriptName functions.
    • Can run a script on no file by selecting '(none)' in the Run on File section of the File Bar.
    • When doing a CSV export or Copy of the Template Results, the Color field will be converted to a hex color instead of being left blank.
    • An integer with <format=binary> will now show all bytes if zero instead of just the first byte.
    • 'L' string constants now support UTF-8.
    • Prevent running a template on a template.
    • Generate a warning if defining a large number of template variables.
    • Removed variable mouse-over brackets on a text file (was being displayed incorrectly).
  • New Functions
    • Can convert between a binary string and an integer (BinaryStrToInt, IntToBinaryStr).
    • Added functions to perform checksums on arrays (ChecksumAlgArrayStr, ChecksumAlgArrayBytes).
    • Can convert strings between various encodings (ConvertString).
    • Added functions to extract path, extension, or base name from a file name (FileNameGetBase, FileNameGetBaseW, FileNameGetExtension, FileNameGetExtensionW, FileNameGetPath, FileNameGetPathW, FileNameSetExtension, FileNameSetExtensionW).
    • Can search for an open file in the editor (FindOpenFile, FindOpenFileW).
    • Can retrieve environment variables (GetEnv).
    • File attributes for Windows or Unix files can be retrieved or changed (GetFileAttributesUnix, GetFileAttributesWin, SetFileAttributesUnix, SetFileAttributesWin).
    • Retrieve the character set of the current file (GetFileCharSet).
    • Get or set which file interface is being used for the current file (GetFileInterface, SetFileInterface).
    • Retrieve the name of the current script or template being run (GetScriptName, GetScriptNameW, GetScriptFileName, GetScriptFileNameW, GetTemplateName, GetTemplateNameW, GetTemplateFileName, GetTemplateFileNameW).
    • Provided function to get a temporary file name (GetTempFileName).
    • Can get or set the current working directory (GetWorkingDirectory, GetWorkingDirectoryW, SetWorkingDirectory, SetWorkingDirectoryW).
    • Provided function to perform any of the Hex Operations in the Tools menu (HexOperation).
    • Can calculate the length of a null-terminated string in a file (ReadStringLength, ReadWStringLength).
    • Provided function to ensure that a script is being run on a target file (RequiresFile).
    • Can write a message to the status bar (StatusMessage).
    • Convert strings easily to UTF-8 format (StringToUTF8, WStringToUTF8).
    • Can convert characters to upper or lower case (ToLower, ToLowerW, ToUpper, ToUpperW).
    • Can convert from a text column to an address (TextColumnToAddress).
  • Function Updates
    • Printf function now does type checking and automatically casts parameters.
    • Interface type can be specified for the FileOpen and FileNew functions.
    • GetFileName returns a UTF-8 string.
    • FileOpen will now accept a UTF-8 string.
    • FileOpen no longer pops up an error message if the file could not be found.
    • Better handling of opening duplicate files with the FileOpen function.
    • Can specify a different character set in the StringToWString and WStringToString functions.
    • MessageBox supports UTF-8 encoding.
    • RunTemplate can be run with no arguments to rerun the Template associated with the current file.
    • Added argument to the RunTemplate function to prevent clearing the Output panel.
    • SubStr/WSubStr now default to -1 instead of 0.
    • Can specify a custom date format in the functions GetCurrentTime, GetCurrentDate, GetCurrentDateTime, StringToDosDate, StringToDosTime, StringToFileTime, StringToOleTime, StringToTimeT, DosDateToString, DosTimeToString, FileTimeToString, OleTimeToString, and TimeTToString.
    • Can set the maximum wildcard length in the FindAll, FindFirst, FindInFiles, and ReplaceAll functions.
    • Removed HTML tag processing from Printf.
  • Selections
    • 'Edit > Select Range' tool now displays a Select Bar at the bottom of the editor.
    • When selecting bytes while the Select Bar is open, the Select Bar will update to display the selection.
    • Right click on an editor and choose 'Select > Mark Selection Start' or 'Select > Mark Selection End' to set the selection.
    • Added Save Selection to the editor right-click menu.
    • Save Selection automatically appends the start/size of the selection to the file name.
  • Inspector
    • Can customize the Auto Inspector (right-click the Inspector and choose 'Customize...').
    • Auto Inspector can be set to use a custom template (by default the 'Inspector.bt' file is included with 010 Editor).
    • Data types can be reordered or deleted from the Auto Inspector using the custom template.
    • Any data type (including Custom Variables) can be added to the Auto Inspector using the custom template.
  • Goto
    • 'Search > Goto' tool now displays the Goto Bar below the editor.
    • Use the Goto Bar to jump to a byte, line, sector or short in a file.
  • Options
    • Can set the maximum line length for text files.
    • Can set the auto-hide time for bars in the application (Find Bar/Replace Bar/Goto Bar/Select Bar/etc.).
    • Added option to remember the last used File Interface, Endian, and Word Wrap for a file.
    • Allow setting the color for the Find Selection Lock.
    • Must specify whether a File Interface is text-based or hex-based when the interface is created.
  • Mac OS X
    • Now use Ctrl+G for Find Next and Ctrl+Shift+G for Find Previous on the Mac.
    • Now use Ctrl+L for Goto and Ctrl+Shift+G for Goto Again on the Mac.
    • Add File Proxy icons to the Application Window (drag to other Windows to open).
    • Removed icons on the menu for Mac.
    • Removed icons on sub-windows for Mac.
    • Fixed order of some OK/Cancel buttons on the Mac.
    • Fixed Windows Clipboard should be called Macintosh Clipboard on the Mac.
  • Hotkeys
    • Ctrl+E now toggles between Big and Little Endian.
    • Word Wrap can be toggled on or off using Ctrl+;.
    • Can access Options dialog using Ctrl+, on Windows.
    • Changed close window hotkey to Ctrl+W.
    • Changed close all window hotkey to Ctrl+Alt+W.
    • Fixed issue with Previous Tab shortcut.
    • Can show or hide the File Bar above each editor using Ctrl+/.
  • Bugs
    • Fixed bug copying large blocks of data to other applications.
    • Fixed issues with editing UTF-8 characters.
    • Fixed crash when a startup script was missing.
    • Fixed constants in the form 0B?h.
    • Fixed crash in certain invalid assignments to a struct.
    • Fixed bug with extra character when casting from a string to a wstring.
    • Fixed bug with switch statement when default was the first statement.
    • Fixed a case where a non-terminated string could potentially cause a crash.
    • Fixed case where the Close All icon enabled state was not correctly set.
    • Fixed case when Close All could cause the Floating Tab Group to be displayed.
    • Fixed case where Close All Except This could close the wrong files.
    • Fixed bug with assigning to a negative float or double.
    • Fixed issue with using return in a function with no return value.
    • Fixed OutputPaneCopy/OutputPaneSave missing the last row if no linefeed.
    • Fixed case where commented lines were colored incorrectly when jumping through a file.
    • Fixed crash in the Inspector with certain rare Unicode strings.
    • Fixed bug with FindFirst/FindAll when size=0 and start>0.
    • Fixed bug with FindFirst/FindAll and finding Unicode values.
    • Fixed bug with FindNext/FindAll using dir=-1.
    • Fixed FPrintf(newFile,"%c",0) now works properly.
    • Fixed issue with all red text in the Output panel.
    • Fixed case when a Hex file is split and then scroll down, the ruler would not be displayed correctly.
    • Fixed InputOpenFileName/InputOpenFileNames not using the default file name.
    • Fixed AddBookmark can add bookmarks in any of the base types without first running a template.
    • Fixed bug with '//' after #define.
    • Fixed constants COMPARE_SYNCHRONIZE and COMPARE_SIMPLE were switched.
    • Fixed rare crash when running templates and progress issues.
    • Fixed crash calling TextReadLine with an empty string.
    • Fixed possible crash with MessageBox function when using only two parameters.
    • Fixed issues with Copy/Paste from Hex Bytes with Unicode files.
    • Fixed DOS linefeeds being transformed to Unix linefeeds when copying to the Find Bar.
    • Fixed running a comparison can cause empty an Floating Tab Group to be displayed.
    • Fixed a possible crash with an infinite recursion script.
    • Fixed issues with character sets in the Find results window.
    • Fixed correctly detecting when a file read-only flag is changed outside 010 Editor.
    • Fixed Export CSV automatically adds quotes around items containing commas.
    • Fixed in split-view mode, the selection could move after editing.
    • Increased amount of memory the undo stack is allowed to use.

For a full list of changes in other versions of 010 Editor, please see the Release Notes.




Newsletter - Receive special offers, tips, tricks and news. Join now



010 Editor v8.0.1 is here!
What's new?


Navigation


Products

010 Editor














E-mail: info@sweetscape.com