wxHexEditor: wx-based Hex Editor!
wxHexEditor: wx-based Hex Editor!
http://wxhexeditor.sourceforge.net/
Made latest beta into sfs. Only tested on Pemasu's raring.
Run via Menu>Utility>General>wxHexEditor.
Uploaded to wxHexEditor-0.22b.sfs
Made latest beta into sfs. Only tested on Pemasu's raring.
Run via Menu>Utility>General>wxHexEditor.
Uploaded to wxHexEditor-0.22b.sfs
- Attachments
-
- wxhexeditor.png
- (56.8 KiB) Downloaded 2278 times
Last edited by muggins on Fri 17 Jan 2014, 21:51, edited 3 times in total.
Interesting. I've been looking for a decent Linux hex editor, to replace the Windows one I've been using through Wine. This looks like it's developing fairly well, though I'd have to wonder if there will be an option to change how the cursor offset is displayed - I'm too used to the 0x0000 format. (Well, that and I have a lot of notes written with the locations in that format... )
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
I really like wxHexEditor, although I haven't updated from svn for a few months
If anyone wants to learn c++/wx, there are still some features that need implementing and would probably be good to learn on, and the author is really keen for help (he offered me commit rights without me even asking for them, after I posted a patch for a really basic workaround ).
The main point in this project is that it can handle large files as it doesn't load the whole file into ram. There is one other (IIRC QT based?) project that the author of this mustn't have noticed though
If anyone wants to learn c++/wx, there are still some features that need implementing and would probably be good to learn on, and the author is really keen for help (he offered me commit rights without me even asking for them, after I posted a patch for a really basic workaround ).
The main point in this project is that it can handle large files as it doesn't load the whole file into ram. There is one other (IIRC QT based?) project that the author of this mustn't have noticed though
I presume the problem is not just that you haven't noticed you can change between hex and binary offset display by clicking in the offset display area?though I'd have to wonder if there will be an option to change how the cursor offset is displayed - I'm too used to the 0x0000 format.
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Bah. I can't be expected to click everywhere, now, can I?
Yeah, I hadn't noticed that. Thanks. Looks like I can remove my Wined hex editor, after all. Now, all I have to do is hope there will be a byte-compare feature in the future.
Yeah, I hadn't noticed that. Thanks. Looks like I can remove my Wined hex editor, after all. Now, all I have to do is hope there will be a byte-compare feature in the future.
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
Well, I think he's started implementing what you want (not complete yet though):
Revision 204 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 19 06:11:56 2011 UTC (2 days, 19 hours ago) by erdem_ua
File length: 41178 byte(s)
Diff to previous 201
Added File Compare dialog GUI and main core code.
Fixed multiple assertions on menu enable codes.
Removed "(Alpha)" keyword on right click menus.
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Do you think it would be better if it was switched by a right-click rather than a left-click?Makoto wrote:Bah. I can't be expected to click everywhere, now, can I?
Personally I'd like to be able to select in the offset pane with the left button...
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Possibly. I can imagine accidentally clicking in that pane and not realizing it. It might be nice if there was a column header bar you could click on instead, to swap it between the view methods (like you would change between field sort methods in a file explorer), I don't know.disciple wrote:Do you think it would be better if it was switched by a right-click rather than a left-click?
Personally I'd like to be able to select in the offset pane with the left button...
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
Looks like:
r208 | erdem_ua | 2011-05-19 03:01:22 +0300 (Thu, 19 May 2011) | 2 lines
Added left click to offset controller copies the address.
------------------------------------------------------------------------
r207 | erdem_ua | 2011-05-19 02:25:19 +0300 (Thu, 19 May 2011) | 2 lines
Changed Offset Hex:Dec switching by right mouse button from now.
You can use svn for file comparison option...
Code: Select all
r212 | erdem_ua | 2011-05-21 16:02:39 +0300 (Sat, 21 May 2011) | 2 lines
Implemented whole Comparison Dialog.
r211 | erdem_ua | 2011-05-21 14:11:27 +0300 (Sat, 21 May 2011) | 2 lines
Fixed File Compare operation.
r210 | erdem_ua | 2011-05-21 02:36:22 +0300 (Sat, 21 May 2011) | 2 lines
Added Comparison Panel (Beta).
Fantastic!
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
I'll second that.
(Sorry, would've signed on a lot earlier; busy day. (collapses))
(Sorry, would've signed on a lot earlier; busy day. (collapses))
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
Now unicode search available.
And looks like disassembler support comming next.
And looks like disassembler support comming next.
Edit:r213 | erdem_ua | 2011-05-23 02:41:55 +0300 (Mon, 23 May 2011) | 3 lines
Implemented UTF8/Unicode searching.
Added Auto UTF8 Search switch on Unicode search strings.
r214 | erdem_ua | 2011-05-23 03:24:06 +0300 (Mon, 23 May 2011) | 2 lines
Added Disassember Panel skeleton.
So what you want next?r215 | erdem_ua | 2011-05-24 03:31:16 +0300 (Tue, 24 May 2011) | 3 lines
Implemented Disassembler panel code by using udis86 library.(Beta)
Can't think of anything, offhand. Maybe something to do with a patch system (creating diffs?), but that might end up being handled differently between Linux and Windows (especially if you were to create 'executable' patches... )
(As you can see, I probably should NOT try to make suggestions after being out with my family all night until three A.M... )
(As you can see, I probably should NOT try to make suggestions after being out with my family all night until three A.M... )
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
There are some cosmetics but I think it looks better.
But that patch file is compatible with all OSses. Why do you think that will be break compatibility between Win and Linux?
I think next big thing is Memory Reading for windows (at least on XP) and Linux (don't know how to do on OSX)..
I think it's prohibited on linux but some users doesn’t think same.
Do you know any way to read whole physical memory at Linux?
I can integrate xdiff like engine or just put my own diff code to patch BIN files.r218 | erdem_ua | 2011-05-25 04:04:38 +0300 (Wed, 25 May 2011) | 2 lines
Changed OffsetCtrl for use less digits if hex mode in use.
Added Auto-Offset resizing by file length
But that patch file is compatible with all OSses. Why do you think that will be break compatibility between Win and Linux?
I think next big thing is Memory Reading for windows (at least on XP) and Linux (don't know how to do on OSX)..
I think it's prohibited on linux but some users doesn’t think same.
Do you know any way to read whole physical memory at Linux?
I'd gone off on a tangent and was thinking about (standalone) executable patches when I'd made that comment. (See, that's why I shouldn't try to make suggestions at 3AM, when I'm rather tired. )
I can't say I know anything about memory reading/addressing, unfortunately. Would that also require you to start considering having both a 32-bit and 64-bit version of wxHexEditor, due to the differences in the way they address memory? (Or can you do both within a 32-bit program? (I did say I knew very little about the subject... ))
(...then again, my posts in the middle of the day when I'm fully awake aren't necessarily all that coherent... )
I can't say I know anything about memory reading/addressing, unfortunately. Would that also require you to start considering having both a 32-bit and 64-bit version of wxHexEditor, due to the differences in the way they address memory? (Or can you do both within a 32-bit program? (I did say I knew very little about the subject... ))
(...then again, my posts in the middle of the day when I'm fully awake aren't necessarily all that coherent... )
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
Okay, just remembered something I'd forgotten.
For copying text from the right-hand pane, a warning will pop up if the selection contains nulls, and the text will be truncated. Would an option (off by default) to automatically convert the nulls to copy-friendly characters (such as spaces, underscores?) be a good idea? That might also need a sub-option to warn (or keep the above warning) as a reminder if you were indeed going to paste the text in the same or another instance of the editor, though, to be safe.
Or, perhaps add the option to convert the nulls in the selection, in the existing warning. That way, you can keep the warning, and those who are going to paste the text into something other than a program don't have to end up taking a screenshot of the text they were trying to copy.
For copying text from the right-hand pane, a warning will pop up if the selection contains nulls, and the text will be truncated. Would an option (off by default) to automatically convert the nulls to copy-friendly characters (such as spaces, underscores?) be a good idea? That might also need a sub-option to warn (or keep the above warning) as a reminder if you were indeed going to paste the text in the same or another instance of the editor, though, to be safe.
Or, perhaps add the option to convert the nulls in the selection, in the existing warning. That way, you can keep the warning, and those who are going to paste the text into something other than a program don't have to end up taking a screenshot of the text they were trying to copy.
[ Puppy 4.3.1 JP, Frugal install ] * [ XenialPup 7.5, Frugal install ] * [XenialPup 64 7.5, Frugal install] * [ 4GB RAM | 512MB swap ]
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
In memory of our beloved American Eskimo puppy (1995-2010) and black Lab puppy (1997-2011).
Makoto: FYI we also had a discussion going about that at http://sourceforge.net/tracker/index.ph ... tid=913065
It might be good to have an option to specify which character to replace them with. But I think in theory it should actually be possible to copy the whole string without replacing the null characters. Because if I correctly understand what Google is telling me, you can have a null character in a text file, or in a C++ string.
Here's another idea that would be nice: using a different colour (red?) in that panel for non-printing characters.
It might be good to have an option to specify which character to replace them with. But I think in theory it should actually be possible to copy the whole string without replacing the null characters. Because if I correctly understand what Google is telling me, you can have a null character in a text file, or in a C++ string.
Here's another idea that would be nice: using a different colour (red?) in that panel for non-printing characters.
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Nice, but probably not incredibly usefuldisciple wrote:Here's another idea that would be nice: using a different colour (red?) in that panel for non-printing characters.
-----------------------------
Erdem, are you developing primarily on Windows?
With current svn I get this error on Puppy:
Code: Select all
src/HexDialogs.cpp: In member function 'uint64_t FindDialog::FindText(wxString, uint64_t, unsigned int)':
src/HexDialogs.cpp:207: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
/usr/include/wx-2.8/wx/buffer.h:127: note: candidate 1: char wxCharBuffer::operator[](size_t) const
src/HexDialogs.cpp:207: note: candidate 2: operator[](const char*, int) <built-in>
make: *** [src/HexDialogs.o] Error 1
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER