HxD: Plugin interface

Wishlists for new functionality and features.
Post Reply
b0ne
Posts: 5
Joined: 02 Mar 2007 18:40

HxD: Plugin interface

Post by b0ne »

Maël is really going to hate me for this one.... hopefully I can present this one as just some open thinking for long term future considerations... :)

A plugin interface that accepts a plugin DLL that works in a similar fashion to the plugin interfaces of Ollydbg and IDA (interactive disassembler). Or maybe an embedded C-style script interpreter like CINT.

I can envision a couple plugins that would be immediately useful to me, which could be implemented on top of an API interface that works in a similar fashion to C stdio.h functions for getting and putting bytes into a file opened by HxD.

Code: Select all

// gets filename 
int hxdgetcurrentfilename(hHxdFile, int buflen, void* pfilename);

// opens a file in HXD and returns a handle to that file
hHxdFile hxdopen(char *name, char *mode );

// closes file opened by HXD
int hxdclose(hHxdFile hFile);  

// gets the current IO position
long hxdtell(hHxdFile hFile);

// changes IO pointer, origin being an enum SEEK_BEG, SEEK_CUR, SEEK_END
int hxdseek(hHxdFile , long offset, int origin); 

// read into buffer, x count bytes, from hHxdFile
int hxdread(void *buffer, size_t count, hHxdFile hFile);

// write bytes at current pos
int hxdwrite(void *buffer, size_t count, hHxdFile);

// get byte at current pos
char hxdgetc(hHxdFile hFile);

// put byte at current pos
hxdputc(char X, hHxdFile hFile)
And maybe some string type functions to output to the white space on the right side of the ASCII representation which could be used as plugin output area. sprintf(), strlen(), strchr(), strstr(), etc

And some other obvious things like setting selections and highlighted areas inside of HxD.



Theoretical disassembler plugin DLL linked with DiStorm disassembler

Image




or perhaps a PE-viewer plugin?

Image

Maël
Site Admin
Posts: 1219
Joined: 12 Mar 2005 14:15

Post by Maël »

Implementing a plugin-system with custom editors/viewers is in fact one of my main goals for HxD. Naturally this is a longer term goal, as it makes only sense after most "basic" functions are implemented, and there are still a bunch left to do.

A disassembler is also in the cooking and will be one of the first alternate views/editors available (but the first disassembler implementation will be presented in a simple listbox).

richo
Posts: 2
Joined: 27 Jun 2010 03:00

Re:

Post by richo »

Maël wrote:Implementing a plugin-system with custom editors/viewers is in fact one of my main goals for HxD. Naturally this is a longer term goal, as it makes only sense after most "basic" functions are implemented, and there are still a bunch left to do.

A disassembler is also in the cooking and will be one of the first alternate views/editors available (but the first disassembler implementation will be presented in a simple listbox).
Waiting patiently for this feature.

Best Hex Editor around!

Post Reply