Portfolio
TotalImage (2020 - 2023)
I am a maintainer and regular contributor to the TotalImage project. I have made significant contributions to the following areas of the project:
- Read support for the ISO-9660 file system (22d083c, a9a1327, 56c1c2d)
- Read support for Joliet extensions to the ISO-9660 file system (44a28cf)
- Support for loading images as memory-mapped files (32f8963)
- Read support for GUID Partition Tables (a2066c8, c545e21)
- Read support for Master Boot Record partition tables (2695551, 52e7241)
- Read support for fixed-size VHD files (2695551)
- Prototype an alternative cross-platform UI using the Avalonia framework (avalonia-prototype)
DecryptESD (2016 - 2017)
I was the sole developer for this project. This application targeted .NET Framework and was able to decrypt the ESD (Electronic Store Distribution) files provided by the Windows Store infrastructure.
It decrypted encrypted blocks within the file and made the necessary adjustments in the header and metadata to ensure image correctness.
The project was part way through a port to .NET Core before changes within the Microsoft Update system deprecated this way of distributing Windows updates.
Included was an ASP.NET Web Pages (Razor) website and API that tracked known decryption keys and provided them to the application.
BuildFeed (2013 - 2019)
I was the primary developer of the BuildFeed project throughout its life span. It used .NET Framework 4 and the ASP.NET MVC framework throughout. Initially, it used Redis as its persistent data store before migrating to Mongo.
Additionally, later prototypes for an abandoned new version of the site used MS SQL as the persistent data store, and migrated to .NET Core MVC.
The site was supported in 30 different languages with at least 80% translation coverage provided by community volunteers, with a further three languages with partial coverage.
A WinJS application for the Windows 8 store was available, with prototypes for further mobile applications being trialled using Xamarin.
Appxery (2013)
I was the sole developer for this project. Appxery was an online repository of Windows application packages (AppX and AppX Bundles).
Utilities and smaller projects
EFI Dump Reader (2019, 2021)
This is a small utility I put together to read the data from an NVRAM dump from an EFI shell. I wrote it in C# in 2019, and then rewrote it as an example in Rust in 2021.
Product Policy Viewer (2015 - 2016)
A utility that reads the current Windows activation product policy (which tracks which features are enabled for the currently-installed SKU) from the registry and displays them for inspection.
Initially written as a C# / WPF application for the .NET framework, was then re-written as a C++ / Qt application.
NoCAPTCHA (2015 - 2016)
An ASP.NET Web Forms validation control that provided integration with the "NoCAPTCHA" (v2) variant of Google's ReCAPTCHA service.
Secure Transfer Module (2015)
A demonstration of hash-based URL authentication for securely sharing files.
XBF Decompiler (2015)
A utility to show the internal structure of a XAML Binary File (used in WinRT XAML applications). Supports the first version of the XBF format and outputs the tree structure to a WPF application.
Real Version Info (2014)
A class that shows how to load the file version of a PE executable file in C# via the Win32 API.
Rogue Filter (2013)
An ASP.NET Module for IIS that blocks incoming requests from Tor exit nodes.