- January 2020
Making our own executable packer: Part 3
In the last article, we found where code was hiding in our
samples/helloexecutable, by disassembling the whole file and then looking for syscalls.
Later on, we learned how to...
Running an executable without exec
Making our own executable packer: Part 2
In part 1, we’ve looked at three executables:
sample, an assembly program that prints “hi there” using the
entry_point, a C program that...
What's in a Linux executable?
Making our own executable packer: Part 1
Executables have been fascinating to me ever since I discovered, as a kid, that they were just files. If you renamed a
.exeto something else, you could open it in notepad! And...
- December 2019
Crafting ICMP-bearing IPv4 packets with the help of bitvec
Making our own ping: Part 14
So. Serializing IPv4 packets. Easy? Well, not exactly.
IPv4 was annoying to parse, because we had 3-bit integers, and 13-bit integers, and who knows what else. Serializing it is...
Crafting ARP packets to find a remote host's MAC address
Making our own ping: Part 13
Alright. ALRIGHT. I know, we’re all excited, but let’s think about what we’re doing again.
So we’ve managed to look at real network traffic and parse it...
Parsing and serializing ICMP packets with cookie-factory.
Making our own ping: Part 12
In the last part, we’ve finally parsed some IPv4 packets. We even found a way to filter only IPv4 packets that contain ICMP packets.
There’s one thing we...
- November 2019
The many rewrites of the itch.io desktop app
I started working on the itch.io desktop app over 4 years ago.
Parsing IPv4 packets, including numbers smaller than bytes
Making our own ping: Part 11
Hello and welcome to Part 11 of this series, wherein we finally use some of the code I prototyped way back when I was planning this series.
Where are we standing?