A while ago I was wondering how to access encrypted zip archives. A real dumb – but simple to make – way is to bruteforce every single possible password and try it to decrypt the archive with it. So I first wrote a little piece of code to bruteforce words from a given characters list. Here you can download the version written in python, but I decided to go for Java to make this program, as I haven’t started using python yet at the time. Then I had to interface my java program with the zip archives: I used the zip4j library, you can find it here.
Imported the library in the project, changed a little bit of code to make it use the generated passwords to unpack it, some other tweaks and it was done.
I decided to make the program look as a command-line utility, so I also added the arguments handling and an help menu.
Here’s a screenshot of how it looks in the Ubuntu terminal on my machine.