Drquine

The Dr Quine project consists in writing programs capable of printing themselves. It’s an exercise in self-replication. The name comes from the philosopher Willard Van Orman Quine, who gave his name to the concept of quine in computer science. Why this project is both fun… and a real headache There’s something unique about the Dr Quine project: from a utilitarian point of view, it serves no purpose, yet it’s extremely instructive. ...

September 11, 2025

Tinky Winkey

The purpose of this project is to familiarize yourself with programming via the Windows API and how Windows services work. The project consists of two programs, svc.exe and winkey.exe. svc.exe works like the Windows command sc.exe. winkey.exe is a keylogger that records keystrokes using a low-level function and stores each keystroke in a file in C:\Windows\Temp. There is also an interesting feature in svc.exe: a remote shell. Install and start service ...

January 31, 2026

Stockholm

This program is a libsodium-based encryption/decryption tool for sensitive files using the XChaCha20-Poly1305 algorithm. It simulates ransomware behavior in a controlled way: it encrypts or decrypts files in a specific folder depending on their extension. Functionality Generate random key and encrypt file Check if my file is encrypted Wannacry extensions The stockholm program implements a file-targeting strategy similar to that used by the WannaCry ransomware: It encrypts only files whose extension appears in a specific list of sensitive formats, such as .doc, .xls, .pdf, .jpg, .zip etc. ...

September 11, 2025

Ping

Create a simplified reimplementation of the UNIX ping command, which sends ICMP packets to an IP address and measures the response time. Doing this project to reimplement the ping command in C allowed me to delve into the lower layers of network operation, in particular the ICMP protocol. Unlike using ready-made tools or high-level libraries, here I had to manually build network packets and manage sockets directly Understanding the ICMP protocol: by constructing the ICMP headers myself (type, code, checksum), I better understood the structure and role of the ECHO_REQUEST and ECHO_REPLY messages. ...

September 11, 2025