Edit Anything

Professional text and hex editing
with Binary Templates technology.





What's New in Version 13.0

Introducing 010 Editor v13 with support for Projects and Workspace files. Use projects to store a list of files in a tree structure for editing. Use Workspaces to easily switch all open files. Projects support multi-select and drag and drop.

View projects using the Project section of the Workspace or the new Project tab. Edit projects using the Project menu or by right-clicking on a project node. Files can be added individually or a whole folder can be added to a project with a file mask.

Tabs can now be torn off to a new window. Drag the tab up or down and release. Multiple Floating Tab Groups can now be created and tab animation is better when dragging tabs between groups.

Jump from a variable in the Template Results to the source code that generated the variable. Either right-click and select 'Goto Definition' to jump to the code where the variable was created, or right-click and select 'Goto Type Definition' to jump to where the struct was defined.

Middle-click scrolling is now supported. Middle-click and drag to scroll or middle-click once to enter scroll mode.

Perform merges after a comparison. Use the four icons above the compare results table or Ctrl+Up/Down/Left/Right to jump between differences and copy differences between files.

To download the latest version please click the following link:

See also:

Version 13.0.2 - May 2nd, 2023

  • Fixed a crash switching tabs when a Custom Inspector had an unapplied edit.
  • Fixed a crash when tab tearing is turned off and a tab is dragged onto itself.
  • Fixed issues with Find and wholeword when the find target started or ended with a symbol.
  • Fixed could not create a watch for a variable that had <hidden=true>.
  • Fixed some fonts on macOS had some rendering issues.
  • Fixed the Help button on the Opening Files Options dialog did not open the correct help page.
  • Fixed a crash using column selection in hex mode when bytes per line was larger than 16.
  • Fixed regular expression ^ was not correctly matching the first line when a BOM was present.
  • Fixed on some Linux flavors sometimes pressing Ctrl when first focused could delete a selection.

Version 13.0.1 - October 25th, 2022

  • Fixed when using a Custom Inspector, sometimes Undo would not update the file modified status correctly.
  • Fixed the Options button in the Find Bar now uses Alt+N as a shortcut (Alt+P is now used for the Project menu).
  • Fixed a Workspace could load file tabs in the wrong order if certain Tab Locations were set under 'Tools > Options > Opening Files'.

Version 13.0 - September 7th, 2022

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

  • Added support for Project and Workspace files.
  • Tabs can be torn off to a new window and multiple Floating Tab Group windows can be created.
  • The Workspace now supports multi-select and drag and drop.
  • Processes now properly use process addresses within the editor.
  • Jump from a variable in the Template Results to the source code using 'Goto Definition' or 'Goto Type Definition'.
  • Added middle-click scroll mode. Middle-click and drag to scroll or middle-click once to enter scroll mode.
  • Merging after a comparison is now supported.
  • Set a custom starting address for a file using 'View > Addresses > Set Starting Address'.
  • Added 'Duplicate', 'Move Lines Up' and 'Move Lines Down' commands to the Format menu.
  • Added support for Motorola 68000 (m68k) disassembly.
  • Intel Hex and Motorola S-Record import now skips the blank area at the beginning of a file and sets a custom Starting Address.
  • Can now export, import or reset settings for the entire application using the General Options dialog.

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

  • Projects and Workspaces
    • Added support for Projects, which can contain a list of files in a tree structure.
    • Can save the currently open files as a Workspace file which can be loaded later.
    • Projects can be created with or without an associated Workspace file.
    • Loading a project that has an associated Workspace file will close all files and load the files in the Workspace file.
    • Project files are saved to disk with extension ".1pj" and Workspace files are saved to disk with extension ".1wk".
    • Projects can be viewed in the 'Project' section of the Workspace tab or in the new Project tab.
    • Create projects using 'Project > New Project/Workspace' which displays the Project Options dialog.
    • In the Project Options, enable 'Store Workspace with Project' to create the project with an associated workspace.
    • Manage projects using the new 'Project' menu or by right-clicking on a project node in the Workspace tab or Project tab.
    • Open projects or workspaces using 'Project > Open Project/Workspace' or Ctrl+Shift+E.
    • To close projects use 'Project > Close Project' or mouse-over the top Project node and click the 'X' button.
    • Add files to a project using 'Project > Add to Project' or by right-clicking on a Project node and choosing 'Add to Project'.
    • Click 'Add to Project > Existing Files' to use a standard file dialog to add one or more files to the project.
    • Can also add 'Current File' or 'All Open Files' to the project using the Add to Project menu.
    • Use 'Add to Project > Existing Folder' to add a live folder to the project using a standard folder dialog box.
    • All files in the live folder are added to the project automatically.
    • A popup Folder Options dialog allows specifying a custom mask for the live folder and has a toggle for 'Include Subdirectories'.
    • Live folders are rescanned when a project is opened or can be rescanned with 'Project > Refresh Folders'.
    • Use 'Add to Project > New Folder' to create a project folder that does not exist on disk.
    • Other files or folders can be dragged inside a project folder, but not inside a live folder.
    • Project folders can be renamed by single-clicking or by right-clicking and selecting Rename.
    • Edit the options for a live folder by right-clicking on the folder and selecting 'Folder Options'.
    • Delete files from projects by right-clicking and selecting Remove from Project or by using the Delete key.
    • Use drag and drop to rearrange files or move files between folders.
    • Access the options for the project using 'Project > Project Options'.
    • Save the project using 'Project > Save Project' or 'Project > Save Project As'.
    • The project will be saved automatically when adding files if 'Auto-Save Project' is enabled in the Project Options.
    • Project and Workspace files are integrated with Windows Explorer, macOS Finder or Linux File Manager. Double-click or drag and drop onto 010 Editor to open.
    • Open or close projects in scripts using the ProjectOpen/ProjectClose functions.
    • Search across all files in a Project using Find in Files and selecting 'Current Project' as the search target.
    • Multi-select is supported when editing projects.
    • Save the current list of open files to disk using 'Project > Save Workspace'.
    • Opening a saved Workspace file will close all current files and open the files inside the Workspace file.
    • Projects may be saved to disk using absolute file paths or file paths relative to the project file (control with the Project Options dialog).
    • The application title bar shows [Project: <project_name>] when a project is loaded.
    • To view the full path for the current project, place the mouse over the top Project node.
    • Drag and drop from a project to the Open Files list or the editor to open files.
    • Open projects using -project on the command line.
    • The recent projects list can be sorted by access time or alphabetically.
    • The Workspace tab now shows 'Open Files: <project_name>' if using a project that has an associated workspace file.
    • Edit the source XML for a project by right-clicking on the project node and choosing 'Edit Project'.
    • If 010 Editor is closed when a project is active, the project is automatically reloaded when 010 Editor is restarted.
    • Turn off automatic reloading using the Opening Files Options dialog.
    • By default projects are saved in the 'Documents\SweetScape\010 Projects' directory.
  • Tabs
    • Tabs can now be torn off to a new window by dragging the tab up or down and releasing.
    • Multiple 'Floating Tab Group' windows can be created.
    • Use 'View > Floating Tab Groups' to show or hide the floating windows.
    • Better tab animation when dragging a tab to a different Tab Group.
    • Each Floating Tab Group window can have multiple Tab Groups laid out either horizontally or vertically.
    • Added new option 'Move to New Floating Tab Group' to the Tab right-click menu.
    • Added new option 'Move to Main Tab Group' to the Tab right-click menu for Tabs in a Floating Tab Group.
    • Each Floating Tab Group window now shows the name of the currently selected tab in its Title Bar.
    • All Floating Tab Groups are now hidden by pressing the Esc key.
    • Floating Tab Groups are no longer dockable with the main application.
    • Tab tear-off can be disabled in the Opening Files Options dialog.
    • Changed the background image for empty Tab Groups.
  • Workspace
    • Workspace now has 'Project' and 'Recent Projects' sections.
    • Multi-select is now supported with Shift and Ctrl (Cmd on macOS).
    • Drag and drop is supported between sections.
    • Drag from the workspace to the editor to open files.
    • Files can be added to the Favorites list using drag and drop.
    • Access options for the Workspace by right-clicking and selecting 'Workspace Options'.
    • Headers for the sections are now bold by default but can set to normal typeface using the Workspace Options.
    • Star icons are now shown for files in the Favorites list and this can be turned off using the Workspace Options.
    • The different sections of the Workspace can be hidden using the Workspace Options.
    • Controlling whether modified files in the Open Files list are shown as bold has been moved to the Workspace Options dialog.
    • The Workspace now shows 'Open Files: <project_name>' if using a project that has an associated workspace file.
  • Processes
    • Processes now properly use process addresses within the editor.
  • Set Starting Address
    • Set a custom starting address for a file using 'View > Addresses > Set Starting Address'.
    • The custom starting address is used in the Hex Editor, status bar, goto, find, etc.
    • 'OFFSET' label appears in the status bar when a Starting Address is set and click the label to change the address.
    • Can also set a custom starting address by right-clicking on the address column in the hex editor and selecting 'Addresses > Set Starting Address'.
    • Custom starting addresses are saved with the current workspace.
    • Starting addresses can be set on the command line using -startaddress.
    • In Scripts or Templates, the starting address can be set using the GetStartingAddress/SetStartingAddress functions.
  • Templates and Scripts
      Can jump from a variable in the Template Results to the source code by right-clicking on the Template Results and choosing 'Goto Definition'.
    • Can also locate the struct or type definition for a variable by right-clicking on a Template Results variable and choosing 'Goto Type Definition'.
    • A popup dialog now warns when an array of structures is encountered that may cause issues when being optimized.
    • Use <optimize=true> or <optimize=false> for the array or click the 'Do not show this message again' toggle to disable the message.
    • Arrays created with <optimize=false> are now collapsible in the Template Results like a normal array.
    • For backwards compatibility, the collapsible node can be turned off for all Templates using the Compiling Options dialog.
    • The collapsible node can also be turned off for individual Templates using the SetUnoptimizedArraysCollapsible function.
    • The active Script or Template chosen using a drop-down list will be remembered the next time 010 Editor is restarted or a workspace is loaded.
    • Turn off remembering the last Script or Template using the Opening Files Options dialog.
    • Formalized that all functions in Templates and Scripts use local coordinates where 0 is the first byte of the file and FileSize()-1 is the last byte.
    • Local coordinates are almost always the same as what is displayed in the editor except when editing a Process or a file with a custom Starting Address.
    • Use the AddressLocalToFile and AddressFileToLocal functions to transform between local coordinates and the displayed file coordinates.
    • Added SetFileCharSet function to change the character set of the current file.
    • Added IsCharPunct/IsCharPunctW functions to test if a character is punctuation.
    • Added EXPORT_PYTHONCODE constant to the ExportFile function.
    • Templates using 0x0D (Mac-style) linefeeds are now supported.
    • Can open or close projects in a script using the ProjectOpen/ProjectClose functions.
    • An error message is now shown when trying to call the MessageBox function inside a read/comment/name function.
  • Goto
    • Goto Line supports jumping to a column number using "line,column" or "line|column" (e.g. "5,3").
    • Goto Sector supports jumping to an offset number using "sector,offset" or "sector|offset" (e.g. "0x100,5").
    • Using Goto when seeking upwards in a file now jumps to the middle of the display.
  • Compare
    • Merging after a comparison is now supported.
    • Icons above the Compare Results Table can be used to jump to the next difference or copy and paste a difference to File A or B.
    • Use keyboard shortcuts Ctrl+Up/Down/Left/Right to merge when the Compare Results Table is focused.
    • Editing the files after a Compare will update the Compare Results Table as edits are made.
    • After a Compare, clicking on a byte in either editor selects the corresponding row in the Compare Results Table.
    • Changed the algorithm for initial choices for File A and File B when the Compare dialog is opened. File A is usually the current file.
    • In the drop-down list of current files for File A and File B, the list is now sorted alphabetically.
    • When switching between different files, the scroll state of the Compare Results Table is saved.
    • Control the maximum number of rows in the Compare Results Table with the 'Max Output Rows' field.
    • Shortcut keys for the Compare Results Table can be customized using the Shortcuts page of the Options dialog.
    • After a comparison, the Compare results can be cleared by right-clicking on the editor and selecting 'Clear Compare Results'.
  • Editor
    • Added middle-click scroll mode. Middle-click and drag to scroll or middle-click once to enter scroll mode.
    • In the Editor, Ctrl+Left behaviour now matches other editors (always jumps to the beginning of words).
    • Added 'Duplicate' command to the Format menu to duplicate the selection, or the current line if no selection is active.
    • Added 'Move Lines Up' and 'Move Lines Down' command to the Format menu to rearrange lines in the editor.
    • Right-click on the left-most column to access the Addresses/Line Numbers menu.
    • Right-click on the ruler to access the ruler menu. In hex mode line layout options are shown as well.
    • Keys for the editor can now be customized using the Shortcut Options dialog box.
    • Editor shortcuts are now displayed in the 'Help > View Shortcut List' dialog.
  • Hex Editor
      Removed colons after addresses by default (this can be turned back on in the Hex Editor Options dialog).
    • Added option to prevent the hex editor 'Char' column from automatically resizing when a wide character is encountered.
    • 'Char' column will automatically try to reduce size after expanding from wide characters.
    • Right-click on the address column and select 'Addresses > Set Starting Address' to set a custom starting address.
  • Disassembler
    • Added support for Motorola 68000 (m68k) disassembly.
    • Added to disassembler dialog plus flags for 68010, 68020, 68030, 68040 and 68060.
    • Can use in Template disasm with DISASM_M68K constant plus the flags DISASM_OPTION_M68K_010, DISASM_OPTION_M68K_020, etc.
  • Import/Export
    • Intel Hex and Motorola S-Record import now skips the blank area at the beginning of a file and sets a custom Starting Address.
    • This functionality can be turned off using the Importing Options dialog.
    • Added new export type 'Python Code'.
  • Find
    • New resize handles are shown in the Find Bars to resize the Find Bar sections.
    • After a Find All operation, right click on the Editor and select 'Clear Find Results' to clear coloring.
    • Fixed Find in Files can stop responding when scanning a large directory.
    • Fixed sometimes the selection would not be copied to the Find bar correctly when regular expressions were enabled.
  • Linux
    • Linux distribution is now provided as a .tar.gz archive with no installer.
    • Installation tasks such as creating icons and associations are performed the first time 010 Editor is run.
    • SHA256 hashes are available on the download website to verify archive integrity.
    • Can run '010editor -install' if the program is moved to update the installation paths.
    • Support wayland with '010editor -platform wayland' or 'export QT_QPA_PLATFORM=wayland'.
    • XCURSOR_SIZE environment variable can be used to adjust cursor size on some systems.
  • Portable Version
    • Portable version is now available as a .zip archive with no installer.
    • The EULA for 010 Editor must be accepted the first time 010 Editor is run.
    • SHA256 hashes are available on the download website to verify archive integrity.
  • General
    • Can now export, import or reset settings for the entire application using the General Options dialog.
    • For text files, renamed 'View > Addresses' to 'View > Line Numbers'.
    • Also renamed 'Show Addresses' to 'Show Line Numbers/Addresses'.
    • Reorganized the 'View' menu to put Line Numbers higher in the list.
    • Added 'Edit > Copy As > Copy as Python Code'.
    • Added 'Reset All Docking' option to the Window menu on the main menu.
    • Files restore their last selection when 010 Editor is restarted.
    • Can copy text from a message box.
    • 'Window > Window List' dialog now has buttons for Save and Close and supports multi-select.
    • When multiple files were deleted externally to 010 Editor, a new dialog shows all deleted files in one dialog instead of separate messages for each file.
    • When multiple files were modified externally to 010 Editor, a new dialog lists all modified files with options for Reload, Ignore, Always Reload or Always Ignore.
    • If Always Reload or Always Ignore is set for a file, an up/down arrow icon appears in the status bar. Click to manage reload settings.
    • When opening a file that is already loaded in the editor, a dialog gives the option to 'View' or 'Duplicate' the file.
    • The dialog has an 'Always use this option' toggle and can also be controlled using the Opening Files Options dialog.
    • When opening a file from the command line that does not exist, a dialog gives the option to create the file or ignore the request.
    • The default action can also be controlled with the Opening Files Options dialog.
    • Faster to close the application when a lot of files are loaded.
    • Links now use https instead of http whenever possible.
    • Allow 'Save All' to be clicked when the 'Startup' tab is active and files are opened.
    • Now using the user interface library Qt 5.15.2.
    • Added link to the Capstone license in the EULA.
    • Fixed missing tooltips for some icons.
  • Status Bar
    • The Status Bar now shows a clipboard icon instead of 'W'.
    • Copy the current cursor position to the clipboard by left-clicking on the position label and selecting 'Copy Position'.
    • Left click on the size label and choose 'Copy Size' to copy the current file size to the clipboard.
    • The 'OFFSET' label appears in the status bar when a custom Starting Address has been set. Click the label to manage.
    • An up/down arrow icon appears in the status bar when files in the editor are set to Always Reload or Always Ignore for file changes.
    • Click the up/down arrow to access the Manage Reloading Modified Files dialog, used to turn off Always Reload or Always Ignore.
  • Options
    • On the General page added 'Export' and 'Import' buttons to export or import all application settings to a .cfg file.
    • On the General page added a drop-down menu to the 'Reset' button that can be used to reset all pages or reset the entire application.
    • On the Hex Editor page added 'Show Colon After Addresses' toggle.
    • On the Hex Editor page added 'Automatically Resize Char Area for Wide Characters' toggle.
    • Added new 'Opening Files' page and moved the choice for the starting Edit As from the Editor Page to the new page.
    • Moved 'Remember Last Used Edit As', 'Remember Last Cursor Position', and Windows LNK options to the Opening Files page.
    • On the Opening Files page added 'Remember Last Selection' and 'Remember Last Project'.
    • Added 'Remember Last Script' and 'Remember Last Template' to remember the chosen Script or Template when a workspace is loaded.
    • Added a drop-down list to choose the default action when opening a file that is already loaded in the editor.
    • Added a drop-down list to choose the default action when opening a file from the command line that does not exist.
    • On the Opening Files page added drop-down lists to choose whether script and templates or regular files are loaded in the main interface or a Floating Tab Group.
    • Added drop-down to control whether Tabs are created at the end, start or before/after the current tab.
    • Added 'Allow Tab Tear-Off to New Window' toggle.
    • On Linux added 'Paste on Middle Click' option on the General page. If turned off then middle-click starts the middle-click scroll mode.
    • On the Shortcuts page Editor keys can now be customized using the 'Editor' section.
    • On the Shortcuts page the keys for the Compare Results Table can be customized in the Tools section.
    • Now a popup warning is displayed if a duplicate shortcut was found.
    • On the Toolbars page, when dragged a New File icon onto a Tool Bar, an icon is placed instead of text.
    • On the Importing page added a toggle for 'Automatically Set Starting Address for Intel Hex Files/Motorola Files'.
    • On the Theme/Colors page added color options for the middle-click scrolling icon.
    • On the Compiling page added 'Unoptimized Arrays are Collapsible' toggle.
    • On the Compiling page moved the option for controlling where Scripts and Templates are loaded to the Opening Files page.
    • On the File Dialogs page added 'Open Project' and 'Save Project' dialog options.
    • Added new 'Workspace' page with options to hide each section of the Workspace.
    • The Workspace page can be used to set bold states for headers and modified files, control favorite icons and set the sort order for recent lists.
  • Bugs
    • Fixed some processes on 64-bit machines were not being displayed properly.
    • Fixed a possible error popup using a Custom Inspector and disasm.
    • Fixed Find in Files can stop responding when scanning a large directory.
    • Fixed a crash switching an empty hex file into text mode.
    • Fixed possible crash using Find in Files and wildcards.
    • Fixed using 'parentof' inside of a custom size function.
    • Fixed during Find Next/Previous the numbering and wrap warning were not always consistently displayed.
    • Fixed Copy as Web Page (HTML) now properly transforms symbols such as > to &gt;.
    • Fixed the '&' symbol in file names was not being displayed properly in the file tabs.
    • Fixed landscape printing not working properly in some cases.
    • Fixed pressing Left at the beginning of a file incorrectly jumped to the end of the first line.
    • Fixed a crash with a very long enum value.
    • Fixed the custom Inspector was not being executing while debugging.
    • Fixed the sizeof operator can now work on a struct that is bigger than the current file.
    • Fixed the Assert function was displaying text as html and changed to plain text.
    • Fixed the TextWriteLine function should clear a line when passed an empty string.
    • Fixed sometimes the selection would not be copied to the Find bar correctly when regular expressions were enabled.
    • Fixed the ExportFile function was not exporting HTML, RTF, or text areas properly.
    • Fixed using %D when printing sometimes was not printing dates correctly.
    • Fixed problem updating the repository when the local repository is read only on Linux.
    • Fixed a crash if updating the repository on Linux and the config directory cannot be written.
    • Fixed was missing a few possible actions in the shortcuts list.
    • Fixed in the Page Setup margin fields, sometimes commas were being displayed instead of periods.
    • Fixed -resetdocks command line option was not working properly.
    • Fixed importing bookmarks with spaces in their names.
    • Fixed documentation of Highlight functions to accept colors in 0xBBGGRR format.
    • Fixed Templates using 0x0D (Mac-style) linefeeds are now supported.

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 v15.0 is here!
What's new?


Navigation


Products

010 Editor














E-mail: info@sweetscape.com