<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>leapmotion · writing</title><description>Notes on Windows internals, reverse engineering, networking and the occasional photo.</description><link>https://leapmotion.io/</link><item><title>The copy constructor is the struct layout</title><link>https://leapmotion.io/writing/the-copy-constructor-is-the-struct-layout/</link><guid isPermaLink="true">https://leapmotion.io/writing/the-copy-constructor-is-the-struct-layout/</guid><description>How to diff a struct across two builds in seconds by aligning their copy constructors, and the two mistakes that produced fake fields while building the tool.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><category>reverse engineering</category><category>windows</category><category>tooling</category></item><item><title>A readable pointer is not data</title><link>https://leapmotion.io/writing/a-readable-pointer-is-not-data/</link><guid isPermaLink="true">https://leapmotion.io/writing/a-readable-pointer-is-not-data/</guid><description>Six rules for reading another process&apos;s memory, each one paid for with a wrong answer I was confident about at the time.</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate><category>reverse engineering</category><category>memory</category><category>methodology</category></item><item><title>Mail only when it breaks</title><link>https://leapmotion.io/writing/mail-only-when-it-breaks/</link><guid isPermaLink="true">https://leapmotion.io/writing/mail-only-when-it-breaks/</guid><description>I tore down a nine-container monitoring stack and replaced it with three rules. The lab is better watched now than it was with dashboards.</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate><category>homelab</category><category>monitoring</category><category>backups</category></item><item><title>Emulate the decrypt, don&apos;t reverse it</title><link>https://leapmotion.io/writing/emulate-the-decrypt/</link><guid isPermaLink="true">https://leapmotion.io/writing/emulate-the-decrypt/</guid><description>When a decryption routine is inlined a thousand times and wrapped in mutation junk, stop parsing it. Run it, and follow the value.</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><category>reverse engineering</category><category>emulation</category><category>obfuscation</category></item><item><title>Reading process memory through a driver, honestly</title><link>https://leapmotion.io/writing/reading-memory-through-a-driver-honestly/</link><guid isPermaLink="true">https://leapmotion.io/writing/reading-memory-through-a-driver-honestly/</guid><description>A kernel read primitive that returns success and zeros is worse than one that fails. Three bugs it caused, and what the API looks like now.</description><pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate><category>windows</category><category>kernel</category><category>memory</category><category>reverse engineering</category></item><item><title>Signatures are dead on mutating binaries</title><link>https://leapmotion.io/writing/signatures-are-dead-on-mutating-binaries/</link><guid isPermaLink="true">https://leapmotion.io/writing/signatures-are-dead-on-mutating-binaries/</guid><description>A 24-byte code signature from the old build had zero hits in the new one. What survives a per-build mutation engine is the data side, and it survives well.</description><pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate><category>reverse engineering</category><category>windows</category><category>memory</category></item><item><title>Four runners, one $HOME</title><link>https://leapmotion.io/writing/four-runners-one-home/</link><guid isPermaLink="true">https://leapmotion.io/writing/four-runners-one-home/</guid><description>Scaling a self-hosted Windows build runner from one instance to four, and the three things that only break once you do.</description><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate><category>homelab</category><category>ci</category><category>windows</category></item><item><title>Welcome to my Blog</title><link>https://leapmotion.io/writing/welcome/</link><guid isPermaLink="true">https://leapmotion.io/writing/welcome/</guid><description>First post on the new site. A quick overview of what to expect here.</description><pubDate>Fri, 12 Sep 2025 00:00:00 GMT</pubDate><category>meta</category><category>introduction</category></item></channel></rss>