// the find
jibeee/s7unpack
Unpacker for Siemens S7 1200 PLC firmware
A small C tool that decompresses Siemens S7-1200 PLC firmware images, built out of a 2015 SCADA security research project where the author reverse-engineered the compression format from a black box. It's for people doing firmware analysis or vulnerability research on Siemens industrial controllers, not general embedded developers.
Solves a genuinely hard, undocumented problem — reverse engineering a proprietary compression scheme with no spec and no source, which is the kind of work most people won't redo themselves. The talks (SSTIC, HITB) give real provenance and let you check the author's methodology instead of just trusting the code. Scope is narrow and the codebase reflects it: just the unpacker and the LZP implementation, no bloat.
Two files and a header file as the entire README-documented interface — no usage example, no explanation of the firmware format structure, no description of what LZP variant is implemented or why. Dead for four years with no commits since 2022, and PLC firmware formats do change across hardware revisions, so there's no way to know what Siemens firmware versions this still works against. 25 stars and 4 forks after a decade means almost nobody has pressure-tested it outside the original author, and there are no tests or sample firmware images in the repo to verify correctness yourself.