r/HowToHack • • 3d ago

Why hasn’t someone made a Blob interceptor for browsers?

Am I the only one who finds it annoying when a website uses .blob URLs for media/content that can only be played inside that specific page?

I was wondering if it would be possible to build a browser extension that hooks into SourceBuffer.appendBuffer() and observes the binary chunks being passed to it.

The concept would be pretty simple:

Server → encrypted/chunked data → browser → appendBuffer() → decoder/player

The extension would collect the buffers as they arrive, keep them in the correct order, and potentially reconstruct the original resource from those fragments.

Not talking about breaking DRM or decrypting something the browser itself can't decrypt. More like:

If the browser receives and processes the data, why can't we have a DevTools-like tool that lets us inspect and reconstruct those buffers?

Something like a "Blob Inspector":

  • Intercept appendBuffer() calls
  • See the individual chunks
  • Track their order/size
  • Reassemble them
  • Identify the resulting media/container format
  • Export the reconstructed data when possible

It seems like Network DevTools gets you close, but .blob/MSE-based streaming makes it surprisingly difficult to get back to the actual resource.

Has anyone already built something like this?

Or is there some fundamental browser/MSE limitation that makes this approach impractical?

9 Upvotes

3 comments sorted by

3

u/Ok_Calligrapher_3034 2d ago

This actually sounds like a useful DevTools feature. The tricky part is that "SourceBuffer.appendBuffer()" doesn’t necessarily receive chunks that can simply be concatenated back into the original file. With MSE, the browser may receive an initialization segment followed by separate media segments, and those segments can have timestamps, track metadata, and container-specific structure.

A browser extension could potentially hook into the API and record the buffers, but it would need to handle multiple "SourceBuffer" instances, asynchronous updates, discontinuities, and codecs. The result might be a valid fragmented MP4 or WebM stream rather than the original downloadable file.

So I don’t think the idea is fundamentally impractical. The main challenge is building a reliable reconstruction layer instead of just saving every chunk in order. A good first step would be a Chromium extension that logs buffer sizes, MIME types, timestamps, and segment boundaries, then tries exporting a supported stream. That would already be a pretty useful tool for debugging MSE-based players.

4

u/lobhater 2d ago

Is this an LLM response to an LLM post? If the dead internet theory wasn't already reality it is becoming so now

1

u/ECSJay 2d ago

Hello, fellow humans!