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 some other obvious things like setting selections and highlighted areas inside of HxD.
Theoretical disassembler plugin DLL linked with DiStorm disassembler
or perhaps a PE-viewer plugin?