Ransomware-ing a DSLR Camera
research.checkpoint.com
research.checkpoint.com
Secondly, does anyone know how ML got the encryption key and why they aren't releasing it?
I agree. I find it harder to follow a highly technical blog post that goes on and on from one productive thing to the next like a machine. I want to follow the process, not just duplicate the results. If I can just copy/paste your code to reproduce I'm never going to learn how you arrived at your results!
(Let's assume the any technical limitations of compiling firmware for the camera in Rust are overcome - just focusing on the memory corruption part)
Apart from that I actually find it more appealing and "correct" to have a separate length value. As soon as there are multiple parallel arrays the vector approach will have redundant length information, so from an aesthetical point from of view I prefer not to glue the length to the vector/array.
But yeah, with a separate length there is more manual work for simple tasks, so it's easier to mess up.
No.
(Betteridge's Law)
A good bit of advice I received was "imagine someone is trying their hardest to break into your device at every interface. What can they do?". With that mindset you can then see where to firewall every connection to the outside world to the main controls of your system.
Interesting idea, though :).