- byte
- A unit of eight bits, a number from 0 to 255
- hexadecimal
- Base-16 notation, written with a 0x prefix, where a byte is two digits
- endianness
- The order of a number's bytes in memory, big-endian or little-endian
- bitmask
- A number used with bitwise operations to isolate specific bits
- struct
- Fixed-size fields laid out in a block of bytes, read with struct.unpack
- header
- Fields at the start of a file that describe its contents, like image size or file type
- magic number
- Bytes at the start of a file that identify its format, each format with its own
- strings
- Pulling runs of printable characters out of a block of bytes
- hexdump
- Bytes shown in rows, each with its offset, hex values and text
- xor cipher
- Encryption undone with the same key, since applying XOR twice gives back the original value
- flag
- A secret string you extract when you solve a challenge, proof that you beat it
- hash
- A one-way number computed from data that can't be turned back into the original
- brute force
- Trying every possibility until one matches
- assembly
- A language close to the processor's instructions, one instruction per line
- register
- A small, fast slot in the processor that holds a value while code runs
- calling convention
- The agreed rules for passing arguments and returning a value
- stack
- Memory that grows toward lower addresses, where a function keeps its arguments and return address
- stack frame
- The space a function reserves on the stack for its variables and return address
- control flow
- The path execution takes through conditions, jumps and loops
- accumulator
- The tiny machine's slot where arithmetic happens, starting at zero
- virtual machine
- A program that runs bytecode as if it were a small processor
- bytecode
- Instructions encoded as bytes, run by a virtual machine rather than the processor itself
- disassembler
- A tool that turns machine code or bytecode into readable instruction names
- emulator
- A program that runs another machine's instructions step by step
- patching
- Changing a program's bytes to alter its behavior
- checksum
- A number computed from bytes to check they're intact, like CRC32
- crackme
- A small program made for practice, where you reverse the check function to extract the key