I'm trying to reverse engineer an oscilloscope binary (phoenix, from Hantek).
In my experience, that approach won't yield much useful information. Not only is it a lot of work – you've already seen how much information is gathered during each second – but the results aren't "clean-room"; you'll always have the spectre of copyright issues looming over the end product.
Personally, capturing the information sent and received between the device and the computer, is much more useful.
(Even though I'm just a hobbyist, I have done this for a couple of devices quite successfully, including a vinyl cutter. I've mentioned here before that I then used a Pro Micro clone, a cheap ATmega32u4 programmed in the Arduino environment as an Arduino Leonardo, to stand-in as an USB device replaying captured communications for "driver" development.)
The "trick" is to generate well controlled, detailed tasks, repeat them, and vary them, to see how settings and data affect the communication. For each captured communications stream, you do need to attach a detailed description of the task, including things like scope settings. (I prefer a directory tree structure, with a directory per dataset, descriptions in text files for easy grepping and data comparison, and so on. I often write awk scriptlets to compare different comms sequences, looking for similarities and differences. I end up building a mental image of the protocol, and stepping "into the shoes" of the design engineer, to anticipate/guess the choices they made – understanding their context makes such guessing
amazingly predictive, and even though there will be some "dark spots" in the data stream you don't know what they exactly describe, you can work with the end result.)
In Linux, you can use Wireshark. In fact, the USB capture is implemented in the kernel itself (the
usbmon kernel module), and given fast enough storage media, is rock solid.
Coming from here
Ah, so you actually have a console on the embedded Linux system inside the scope; this changes things a bit – but not overmuch.
I'll reply in that other thread.