23.04.2021 17:00 - 1 x 45 minutes - Leonardo Galli
Like many others, we found ourselves having to move to online meetings - specifically Zoom, after the ETH closed in the beginning of March 2020. When recording with Zoom, a nice feature is the ability to save the audio of different people to individual files, allowing easy editing in post. Unfortunately, Zoom decided to trim any silences found in those audio tracks and as such they become impossible to sync in post. Thus I decided to reverse engineer Zoom, specifically how they store the temporary recording files and hopefully extract the full untouched audio tracks.
In this talk, I will go through the journey taken, to go from not knowing what part of Zoom handles recordings to fully extracting all data from the temporary files. Attendees will learn important aspects when reverse engineering any software as well as file formats. Furthermore, they will see common pitfalls and difficulties I encountered, specifically with C++ software. I will explore all of this, in the context of how the Zoom recording and transcoding architecture works, as well as the custom file format Zoom uses.
source code on github