hn.today

Where Rust actually is in Windows 11

hunterworks.software5 points0 comments
Screenshot of Where Rust actually is in Windows 11

A detailed census of Rust in a single Windows 11 Home x64 25H2 installation (build 26200.9168) inspects every .dll, .exe and .sys under C:\Windows (13,988 live files and 44,889 component-store files), using a one-line grep for Rust markers, a commercial PE viewer for manual review, and Microsoft public symbols plus llvm-pdbutil to count how many bytes each contributing object file came from rustc. The methodology treats rust-origin strings and rustc object names as strong indicators but uses the linker’s PDB attribution (rcgu.o objects) to measure Rust code bytes because link-time optimisation folds most Rust into internal objects and public symbol names undercount Rust. All Rust markers were hand-classified and full evidence files and commands are provided so the counts can be reproduced; the report notes that markers imply presence, not necessarily runtime execution.

Findings include two servicing DLLs - CloudRecoveryDownloadTool.dll and UdiApiClient.dll - attributed 96.6% and 96.2% Rust by the linker, DWriteCore measured at 57.9% Rust while System32\DWrite.dll shows zero Rust, and NarratorMCAT.dll identified as the open-source MathCAT crate compiled by Microsoft’s internal toolchain with 26 third‑party crates and no first‑party crate paths. A compiler channel named stable-utc (inferred as UTC backend) produced a MathCAT build about 14% smaller than an llvm-built counterpart. The announced kernel driver win32kbase_rs.sys is present (≈155,648 bytes, 21 .rs path strings) but its runtime feature gate lives in the C++ host; 83 other driver-like binaries flagged by strings are explained as NVIDIA/Intel shader-compiler artifacts.

Read on hunterworks.software0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Security

Type Punning in C and C++

Type Punning in C and C++

Type punning involves interpreting memory as different types, which is common in low-level programming but can lead to undefined behavior. In C, unions and memcpy are safe methods, while pointer casts are unsafe and violate strict aliasing rules, especially in C++ where the compiler assumes types do not alias. (blog.pwkf.org)

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.