Crumbs of Cybersecurity

Structure of an Executable

Executable Formats [...] executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data file that must be interpreted (parsed) by a program to be meaningful.

Calling Conventions

Basics A calling convention is a low-level standard scheme for how subroutines receive parameters from their caller and how they return a result. It specifies the following: * the order in which scalar parameters are allocated; * how parameters are passed (pushed on the stack, placed in registers, or a mix of

Basics of the ARM Architecture

ARM Architecture The initials ARM, which are an acronym for Acorn RISC Machine, were subsequently shortened to Advanced RISC Machine. The ARM architecture family is used in most smartphones, tablets, and embedded systems, as well as some laptops, because it uses less energy and costs less. The main business of

Basics of the Intel Architecture

Intel Architecture The Intel architecture is a little-endian, Complex Instruction Set Computer (CISC) architecture. The 32-bit version is called x86 or IA-32, while the 64-bit version is called x64 or x86-64; don't confuse it with the discontinued IA-64 (Itanium) architecture. A comprehensive documentation of the architecture is available

Reverse Engineering Tools

In this episode, I will list several tools that are useful for performing software reverse engineering. We will return to some of them in further detail later. Small Utility Tools A first useful tool is strings. Here is a small excerpt from its man page: For each file given, strings

Crumbs of Cybersecurity © 2026