Reverse Engineering My Home Security System: Decompiling Firmware Updates
markclayton.github.io
markclayton.github.io
Not only is it a good first step, but since the product clearly runs Linux, the author should be able to download all GPL source code from Honeywell. Being able to build the device firmware yourself from source is hugely beneficial to understanding the structure of the firmware and can even help in understanding the behaviour of the device.
If Honeywell aren't providing a GPL archive for the Tuxedo with the kernel and any GPL licensed user-space programs, they are violating the GPL.
I'm not sure the author is aware that the source code for these should be freely available from Honeywell
It's not clear to me that they would need to follow GPL.
Of course. Honeywell can run their own proprietary applications on top of a Linux/GNU system. I didn't mean to imply that you could request the source code to every program running on the device.
However they need to provide the source code for any GPL licensed portions. IIRC they should also provide build scripts so you can create a firmware image yourself.
I guess that's just a mindset, but I see proprietary extensions created and used everywhere.
Especially in the context of firmware, I never once made any assumptions about this being a default file-format, nor that tooling for this extension was a path was worth digging deeper into.
Ironically the author has found lots of good tools I didn't know about which more or less should automatically reveal this, before he himself arrives at this conclusion.
Facepalm, indeed.
Aside from a stage that encrypted the firmware, if you knew the structures being prepended to the file, you could "undo" all of that with a little bit of perl.