ReFirmLabs / binwalk

Firmware Analysis Tool
MIT License
10.86k stars 1.54k forks source link

Questions for V3 #695

Open ultimateshadsform opened 16 hours ago

ultimateshadsform commented 16 hours ago

Will V3 also depend on external tools like unsquashfs and cpio etc or will it be inbuilt/an addon in rust?

It would be nice to not have to install any external tools to extract. Just a thought.

Also that you would need to git clone and build external tools before binwalk could use them which was pain.

devttys0 commented 15 hours ago

External dependency hell is a real problem, for sure:

The advantages of using external tools are:

So while I 100% agree with you, v3 will still require external tools. However, it was built from the ground up with support for internal extractors, with the intent of gradually replacing as many external extractors as possible with internal ones moving forward. Currently v3 supports extraction of 53 file types, 23 of those use internal extractors.

There is a Dockerfile included with v3 that builds and installs Binwalk and all external tools. Though personally I prefer having Binwalk installed locally, this does allow you to get everything set up with a single docker command regardless of your host OS and without cluttering your local system with all the additional tools.

There are dependency build scripts in the works to simplify local installation of the external tools, but these are currently a work-in-progress and will need to be tweaked to support various Linux distros.

ultimateshadsform commented 15 hours ago

Thank you for the information.