Pending Review
Last Updated: 03 Apr 2024 18:03 by Eric
TelerikHDMI
Created on: 18 Feb 2020 18:28
Type: Feature Request
7
Decrypt Zstandard (ZSTD) Encoded Requests

I would be nice if Fiddler could decrypt zstandard compressed requests.

3 comments
Eric
Posted on: 03 Apr 2024 18:03
Chrome and Edge now support this compression scheme by default, so Fiddler should add it too!
Hello
Posted on: 18 Apr 2020 20:14
+1.

For the response, I patched the request to return gzip, by adding to 'OnBeforeRequest':

if(oSession.RequestHeaders.AllValues("Accept-Encoding") == "zstd, gzip"){
    oSession.RequestHeaders.Remove("Accept-Encoding");
    oSession.RequestHeaders.Add("Accept-Encoding", "gzip");     
};

For the request data itself:

1. Get binary from: https://github.com/facebook/zstd/releases
2. patch 'OnDone':

if(oSession.RequestHeaders.AllValues("Content-Encoding") == "zstd"){        
    var zstd_bin = "C:\\zstd\\zstd.exe";
    var tmp_req_body_encoded = "C:\\zstd\\tmp\\" + oSession.id + ".req.encoded.tmp";
    var tmp_req_body_decoded = "C:\\zstd\\tmp\\" + oSession.id + ".req.decoded.tmp";
    var req_dictionary_file = "C:\\zstd\\my_dictionary_file.zdict";     
    
    oSession.SaveRequestBody(tmp_req_body_encoded);
    
    var exitCode;
    Utilities.GetExecutableOutput(zstd_bin, "-d -D " + req_dictionary_file + " -o " + tmp_req_body_decoded + " " + tmp_req_body_encoded, exitCode);

    oSession.LoadRequestBodyFromFile(tmp_req_body_decoded);
    
    //FiddlerObject.log("decoded request: " + oSession.id);
}
ADMIN
Eric R | Senior Technical Support Engineer
Posted on: 25 Feb 2020 17:00

Hi TelerikHDMI,

Thank you for your valued feedback. This has been added to our backlog for review. Please follow the item to receive updates.

Regards,


Eric R | Senior Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items