• Home
  • TTP
  • Pages
  • p1.1_binary.vision // Bits, Bytes, and Hexadecimal

Lecture Content (Paste this into the Gutenberg Editor):

[SYSTEM BRIEFING]

TARGET: DATA REPRESENTATION

INTEL TYPE: LOW-LEVEL ABSTRACTION

CLEARANCE: TIER 01

To a computer, everything is a switch: ON (1) or OFF (0). As a Reverse Engineer, you rarely look at bits. You look at Hexadecimal, the shorthand language of memory. If you cannot “read” Hex, you are blind in the world of binaries.

0x01: The Hexadecimal Shorthand

Why do we use Hex (Base-16) instead of Decimal (Base-10)? Because 1 Byte (8 bits) can be represented by exactly two Hex characters.

  • Binary: 1111 1111 (Hard to read)
  • Decimal: 255 (Doesn’t align with memory)
  • Hex: 0xFF (Clean, precise, professional)

0x02: Memory Visualization

When you open a file in a Hex Editor (like HxD or 010 Editor), you see a grid of numbers. This is a snapshot of the machine’s “brain.”

  • Left Column: The Offset (The “Address” where data lives).
  • Middle Column: The Hex Dump (The raw instructions/data).
  • Right Column: The ASCII String (Human-readable text hidden in the binary).

0x03: The Endianness Problem

One of the most common “bugs” for beginners is Endianness. It’s the order in which bytes are stored in memory.

  • Big-Endian: Standard “Human” order.
  • Little-Endian: x86/x64 systems (Intel/AMD) store the least significant byte first.

Example: The value 0x12345678 is stored as 78 56 34 12 in your RAM. If you don’t know this, you will misread every memory address you find.


The Mission Checkpoint (With “Explain” Logic)

Paste this into a Custom HTML block at the bottom. This challenge tests their ability to do basic Hex-to-Decimal conversion—a skill they will use every single day in the lab.

TERMINAL_CHALLENGE // p1.1

Convert the following Hexadecimal value to Decimal: 0x10