Show HN: Unblob – extraction suite for 30+ file formats

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • unblob

    Extract files from any kind of container formats

  • We are using hyperscan [3] instead of grepping byte sequences with Python, which is orders of magnitudes faster. It can also handle 4Gb+ files because of this which binwalk cannot.

    It's used for a year now in production and it's way more precise and faster than binwalk. We are getting less false-positives too, and even if unblob fails to extract everything, we still get meaningful information out of firmwares, where binwalk just failed with no output previously.

    [1]: https://github.com/onekey-sec/unblob/blob/main/unblob/handle...

    [2]: https://github.com/onekey-sec/unblob/blob/main/unblob/proces...

    [3]: https://github.com/intel/hyperscan

  • binwalk

    Firmware Analysis Tool

  • Looks nice! Kind of reminds me of binwalk: https://github.com/ReFirmLabs/binwalk

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • hyperscan

    High-performance regular expression matching library

  • We are using hyperscan [3] instead of grepping byte sequences with Python, which is orders of magnitudes faster. It can also handle 4Gb+ files because of this which binwalk cannot.

    It's used for a year now in production and it's way more precise and faster than binwalk. We are getting less false-positives too, and even if unblob fails to extract everything, we still get meaningful information out of firmwares, where binwalk just failed with no output previously.

    [1]: https://github.com/onekey-sec/unblob/blob/main/unblob/handle...

    [2]: https://github.com/onekey-sec/unblob/blob/main/unblob/proces...

    [3]: https://github.com/intel/hyperscan

  • dtrx

    Do The Right Extraction

  • For years and years I've used `dtrx` ("do the right extraction") (https://github.com/dtrx-py/dtrx/). Maybe I should switch to unblob?

    It looks like unblob has the right behavior by default that I have to alias for `dtrx`:

    alias dtrx='dtrx --one=inside'

    But I'll probably want to create an alias for unblob to change default depth to 1.

  • ofrak

    OFRAK: unpack, modify, and repack binaries.

  • If you're interested in something similar that can put things back together after you've modified them, check out OFRAK:

    https://github.com/redballoonsecurity/ofrak

    It's designed with embedded systems in mind, but has support for all kinds of other stuff, too. It also has some very advanced patching capabilities.

    I work on it as part of my day job.

  • pyperscan

  • hyperscan is supported on Intel 64 bit only, but there is another project wchich supports ARM called vectorscan. My colleague wrote a Python wrapper for vectorscan: https://github.com/vlaci/pyperscan

  • UnityPack

    Python deserialization library for Unity3D Asset format

  • Since you're the author and I see the tool is in Python. I'm the original author of UnityPack (https://github.com/hearthsim/unitypack - nowadays, the fork UnityPy is more powerful and maintained: https://github.com/K0lb3/UnityPy).

    It's in Python and is able to deserialize Unity archives, treating them as a serialization format rather than a simple archive format. Feel free to email me if you want to integrate something like this or you have questions :)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • UnityPy

    UnityPy is python module that makes it possible to extract/unpack and edit Unity assets

  • Since you're the author and I see the tool is in Python. I'm the original author of UnityPack (https://github.com/hearthsim/unitypack - nowadays, the fork UnityPy is more powerful and maintained: https://github.com/K0lb3/UnityPy).

    It's in Python and is able to deserialize Unity archives, treating them as a serialization format rather than a simple archive format. Feel free to email me if you want to integrate something like this or you have questions :)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts