Project

Need to crack a substitution cipher?

- project ctf crypto

I just published Vsolve - a solver for substitution ciphers. It implements the Jakobsen’s algorithm to perform a bigram analysis of the ciphertext, find the most probable key and get the plaintext without knowing the key. The tool does things that I missed in other tools, mainly it’s: cross-platform - CLI tool written in Rust, extensible - adding a new language is just a matter of adding a config file, and capable - full UTF-8 support, built-in IoC calculator and the list goes on.

Read more...

WTF is DIME again? - writing a scanning tool for my HP LaserJet

- project reversing

TL;DR: I got pissed with HPLIP not working, then the HP Smart app requiring account registration and reverse engineered the network communication and the HP Smart app to develop a tool called HPSimpleScan written in Go, that can be used to scan (not only) from this printer. In the process I’ve written a Kaitai Struct definition of the long-forgotten DIME format and contributed it to the Kaitai Struct formats repo.

Prolog

As a Linux user, I can safely say that printing on Linux is awesome. It really is. 98% of the time, you just connect the printer somehow, doesn’t matter if through USB or a network, and it just works. No driver installing or anything, thanks to CUPS(or similar) and widely supported PDLs it just works out of the box. Problems may arise once you try to scan, however. Moreover scanning over the network. There are few “widish-ly” supported standards (like eSCL, WSD etc.), but often only new/certain scanners support them and a lot of the time they still need proprietary software. This brings me to my printer.

Read more...