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

Modern Visual Studio meets ancient Windows

In my previous blog series, I have shown how to write Win32 applications in 2020 using the amenities that modern C++ brings. Writing an application in 2020 doesn’t mean that we have to forget about 2000 though: The unrivaled compatibility of the Win32 API makes it possible to run your modern application even on …

Read more