Software

Table of Contents

My Github

My Github is https://github.com/Zinkelburger

Forty Fives

I run fortyfives.net, which allows people to play the Merrimack Valley card game forty fives (apparently it is also Canadian?).

The site is made with Elixir/Phoenix. I am working on a mobile app using Flutter. I will soon setup email with Amazon SES. It is hosted on Hetzner, and deployed with Docker.

Chess Blocker

I am trying to binge chess.com less, so I made an extension to block it if I lose too many games within a 24 hour period.

Download on: Firefox, Chrome

Code

Cyber Security club

I’m the president of the cyber security club at UMass Lowell. So the members can access the materials more easily, I put them on umlcyber.club. I also host them on GitHub at UML-Cyber-Security/Fall_2023

neccdi.org

neccdi.org is a homographic attack on the domain neccdl.org. It links to an autoplaying rickroll. Gotta have some fun with the CCDC team!

Brute force discrete homework password

One of my classes locked the current week’s homework pdf with a password. The password could be found in the solutions to the previous week’s homework. Instead of reading the solutions carefully, I wrote a script to try to brute force the password as fast as possible. I got it to brute force the pdf in under 1 second, and I am kind of proud of it. You can find it here

The first step is to turn the pdf into a text file, so it can be parsed.

I then use two facts about the password to quickly discard most of the file:

I get the words of frequency 1 with a hash map, and use a lambda function to check if all of the characters are lowercase. These words are output as a text file.

The bash script uses qpdf and loops through this text file of possible words.If an output file is successfully generated, the loop terminates and the PDF is cracked.