Send to decoder programmaticaly from extensions
There are methods in IBurpExtenderCallbacks for sending data to
- comparer, and
Why isn't there one for decoder? When writing a custom message editor with a custom editor widget, it'd be better to be able to offer sending a selected chunk to the built-in decoder instead of reimplementing it, poorly. Just like there's already void sendToComparer(byte data); it could be void sendToDecoder(byte data);
Hi, Many of the features offered in Decoder would be available as native functions in Java or from the functionality inside IExtensionHelpers.
What type of decoding are you trying to perform? or are you just wanting access to all of Decoders’ features?
my intention is to allow the user to perform manual decoding. My current intention is that my plugin called "JSON JTree" (https://github.com/silentsignal/burp-json-jtree) renders JSON structures as a JTree component for easy navigation within JSON-encoded requests/responses. If an attribute value contains Base64/hex/URL/... encoded strings, the user can right-click on it, select copy and paste it into Decoder. I just feel it'd be more convenient to just have a "Send to decoder" menu item in that context menu, but right now there's no API call for that.
So you're right, I could reimplement a subset of Decoder within my plugin (and other developers could do the same), but if there's already a module in Burp for that, which users know and use for other stuff (you can send to decoder from the built-in text editor for example), why would I want to reinvent the wheel with a sub-par GUI of my own?
Dnet, that sounds reasonable, this isn’t something that has been previously requested which is why no interface currently exists, we have plans to improve the decoder user interface in the future but this could be provided in the meantime to assist extender users.
I have spoken to our development team and created a feature request for that API modification to be made, I have associated your support case to help prioritize it and to notify this thread if it gets implemented.