Monday, December 16, 2024

Inlined vs Non-inlined C++

In various programming languages, it is possible to inline code. For example, with C++, one can use design patterns or keywords like extern...

Friday, September 13, 2024

Stuff

Lately, I've been tightening my own personal feedback loops. And working out. I've also been thinking about how sometimes it can be ...

Wednesday, July 3, 2024

A Taxonomy of Communicative Modes

While lurking on the internet, I stumbled across a post from 2019 by @literalbanana on Twitter/X outlining different modes of communication....

Sunday, May 26, 2024

Using Reflection in Go

Have you ever been writing Go and needed to quickly find all the possible functions or fields you can use with a particular instance of a ca...

Tuesday, April 9, 2024

Knowledge vs Information

One way to conceptualize the difference between knowledge and information is this: knowledge involves some metric of computational difficult...

Tuesday, November 7, 2023

DMARC

Lately I've overheard some people discussing email spoofing with regard to organizations that don't implement DMARC. Namely, "A...

Monday, October 9, 2023

Enumerating TLS Certificates with jq and Bash

Doubling back to share some more notes about web application security adjacent stuff. This is a bash script for reconnaissance that uses som...

Friday, September 15, 2023

Using Bash to Sort IPs by Subnet Uniqueness

This is a helpful Bash script to parse IP addresses by the uniqueness of their subnets. This can be quite helpful in various scenarios.

Thursday, September 14, 2023

Binary, IPv4, and Subnets

The IPv4 protocol which we broadly (but not totally) use today rests on an addressing system that was designed in the 1970s and formally pub...

Tuesday, September 5, 2023

The Etymology of 'Deadline'

The word 'deadline' has a popular etymology story around 19th century prison culture. The explanation of the meaning behind the word...

Sunday, September 3, 2023

Using Csharp to Enumerate Processes

In previous posts, I covered how to observe process information in Windbg by starting a debugging session and dumping the Proccess Environme...

Saturday, September 2, 2023

Walking the EPROCESS Structure with Windbg

In a previous blog post, I covered how when a process is loaded, it is assigned a Process Environment Block (PEB) and Thread Environment Bl...

Friday, September 1, 2023

Tradeoffs of PInvoke and Marshaling

Today I learned that PInvoke and marshaling have more tradeoffs than I naively considered. In terms of performance engineering, PInvoke and ...