Welcome to ColinFinck.de!

This is the single place where I collect my adventures into ReactOS, Rust, and low-level system software, write about them, and release some tools from time to time.
Hope you find something useful here :)

nt-apiset: A Rust parser for Windows API Set Map files

The next building block for my bootloader project is ready! nt-apiset is a parser written in Rust for the API Set Map files of Windows 10 and later versions. API Sets are dependencies of PE executables whose names start with “api-” or “ext-”, e.g. api-ms-win-core-sysinfo-l1-1-0 …

Read more

nt-string: The missing Windows string types for Rust

This release was not planned. I actually wanted to write a parser for Windows apiset DLLs, but quickly found myself implementing the umpteenth string type to handle Windows UTF-16 characters. After having done that work once for nt-hive and another time for ntfs, it was time to refactor the common parts into a crate …

Read more

Talking at EuroRust about my Windows Linked List crate

I recently attended the first ever EuroRust in Berlin from 13th to 14th October. I have been eagerly looking for such a dedicated European conference on Rust, but my previous Google searches were all in vain - and always ended up here. Glad that’s no longer the case :) At EuroRust, I had the opportunity to speak …

Read more

Releasing the S7-Project-Explorer as open-source

After the ENLYZE PortSniffer in 2020, I’m glad to announce that another tool I developed at ENLYZE has just been released as open-source. The ENLYZE S7-Project-Explorer is a Windows application to explore Siemens STEP 7 projects and export a complete PLC variable list as a CSV table. This solves our recurring …

Read more

nt-list: Windows Linked Lists in idiomatic Rust

On my quest to develop a ReactOS/Windows bootloader in Rust, I inevitably had to stumble upon the infamous LIST_ENTRY structure used in the LOADER_PARAMETER_BLOCK. This is what Windows, Windows drivers, and components influenced by Windows (e.g. UEFI) have been using for a long time to uniformly handle linked lists …

Read more

My FOSDEM talk on implementing NTFS in Rust

FOSDEM 2022 has just ended. Despite being an all-virtual event again, it was another awesome conference with a packed schedule full of interesting talks. I had the honor of speaking about my recent NTFS Rust filesystem crate and the video is now online: Slides are available here. Thanks a lot to all volunteers for …

Read more

An implementation of the NTFS filesystem in a Rust crate

Happy new year everybody! It’s finally time to reveal a project I have been working on over several weekends of the past year. It’s also the next building block on my mission to write a ReactOS/Windows bootloader in Rust. ntfs is a Rust library that implements the low-level structures of the NTFS …

Read more

That time I had to patch the Universal CRT

I just finished a blog post where I replaced almost the entire Microsoft build toolchain for our Windows software with open-source alternatives better suiting our needs. Except for the Visual Studio C runtime library, nowadays called Universal CRT (shortened to UCRT or just CRT). The CRT had been performing without any …

Read more

Relaunched my website!

I finally got the mood to do what was long overdue and recreate my website from the ground up. People who visited ColinFinck.de within the past decade must have had the impression that I vanished without a trace. Whereas in reality, I had just been extremely busy with ReactOS, Rust, and my daily job at ENLYZE. There …

Read more