Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature-request: General support for packet-based formats #265

Closed
sundhaug92 opened this issue Apr 22, 2017 · 4 comments
Closed

Feature-request: General support for packet-based formats #265

sundhaug92 opened this issue Apr 22, 2017 · 4 comments

Comments

@sundhaug92
Copy link
Contributor

A lot of formats are based on "packets", where a header might or might not come after another at non-fixed positions. Examples include GPG-signed/encrypted data and network-packets. With the current offset-required format, such signatures are either difficult or impossible to implement.

@CoffeeExpress
Copy link
Contributor

Do you have an example firmware where this is an issue?

@sundhaug92
Copy link
Contributor Author

@CoffeeExpress

  1. FiOS-G1100-Quantum-Gateway GPG Encrypted Firmware Identification/Decryption #256 could benefit from it, since it'd mean you could get more details out of binwalk (for example something like gpg --list-packets --verbose)
  2. Adding support would benefit x509-certificates and packaging-formats that use per-file and/or per-directory headers (instead of a single directory-listing)

Could this be solved by using basic signatures and unique python plugins? Sure but I think the codebase would benefit from a unified implementation, which would also make it easier for new signatures.

@jameshilliard
Copy link
Contributor

I did manage to get gpg detection/decryption working in #418.

@devttys0
Copy link
Collaborator

Binwalk v3 provides much more flexibility in signature parsing; signatures are free to parse data however they see fit (though, you do have to write code - not as simple as a text file definition - but these are the trade offs...).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants