Cyberlium

Reverse › Module 1 › Lesson 3

BeginnerModule 1Lesson 3/5

Lab Binaries

Build and store YOUR toy binaries and approved crackmes at $RE_LAB — source beside binary, snapshot VM, no daily-driver patching.

25 min+40 XP3 quiz
Module progress3 of 5

Visual · re_lab_binaries

Lab binary hygiene. $RE_LAB only. Original Cyberlium.

Opening

YOUR toy binary with source is the safest teacher — you authored it, you may break it.

Lab binaries are small programs you compile for RE practice: hello checks, simple password gates, and arithmetic puzzles. Pair each with source, build flags, and sha256 in $RE_LAB. Supplement with named crackmes and CTF files from approved sources — still only inside your lab VM. Cyberlium treats lab binaries as the foundation before foreign crackmes. You will NOT drop unknown executables on your daily driver or patch system binaries. Next: Scope Lab.

1. Toy binary requirements

Keep source, Makefile or build script, compiler version, and stripped/unstripped variants in $RE_LAB. Name artifacts t23-toy-* with date. One function per lesson when possible — password check, loop, switch.

Document build command and sha256 in chmod 600 notes. Rebuild after toolchain updates and re-log hashes.

Command guide

Try these commands — Toy binary requirements

═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)

ELF man page — https://man7.org/linux/man-pages/man5/elf.5.html (Linux binary format literacy) GCC docs — https://gcc.gnu.org/onlinedocs/ (compile YOUR lab programs)

Optional command

file(1) — https://man7.org/linux/man-pages/man1/file.1.html (identify binary type)

═══ INSTALL ═══

Linux (Debian/Ubuntu):

Command — copy this

sudo apt install build-essential

macOS:

Command — copy this

xcode-select --install  # or brew install gcc

Windows: Use WSL or MinGW Use WSL or install file for Windows

═══ LINUX / macOS ═══

Optional command

sudo apt install build-essential binutils gdb  # gcc objdump readelf nm gdb

Command — copy this

mkdir -p "$HOME/cyberlium-lab/t23-re/src" "$HOME/cyberlium-lab/t23-re/bin"
cat > "$HOME/cyberlium-lab/t23-re/src/hello.c" <<'EOF'
#include <stdio.h>
int main(void) {
    puts("Hello from YOUR lab binary — not a commercial target");
    return 0;
}
EOF

Command — copy this

gcc -Wall -O0 -g -o "$HOME/cyberlium-lab/t23-re/bin/hello" "$HOME/cyberlium-lab/t23-re/src/hello.c"
file "$HOME/cyberlium-lab/t23-re/bin/hello"

Primary tools to practice this lesson: gcc, file. Reference sites: ELF man page (https://man7.org/linux/man-pages/man5/elf.5.html); GCC docs (https://gcc.gnu.org/onlinedocs/); file(1) (https://man7.org/linux/man-pages/man1/file.1.html). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.

2. Crackme and CTF intake

Download crackmes only from sites that state educational use. CTF binaries go in isolated $RE_LAB folder — never mixed with personal documents on host.

Transfer via controlled copy inside VM; scan sha256 against writeup spoilers only after honest attempt.

3. Host vs lab boundary

Daily driver holds notes and static tools on copies — not patched executables. Debugging and patching happen inside $RE_LAB VM with snapshots.

Ship: lab binary inventory — three toy targets + two approved crackmes with sha256. Next: Scope Lab.

4. What you ship: lab binary inventory for $RE_LAB

Inventory: toy binaries with source, approved crackmes, sha256 each. $RE_LAB VM only. NEVER host patching. chmod 600.

5. What you record before the next lesson

Date. Lab binary inventory. $RE_LAB named. File t23-m01-l03-lab-binaries.txt chmod 600.

6. Wrong vs right: commercial piracy vs crackmes/CTF toys

Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.

  • Wrong

    Debug unknown.exe on host Desktop. Mix crackmes with personal tax PDFs.

  • Right

    Write lab binary inventory for $RE_LAB. Next: Scope Lab.

Mission: inventory YOUR lab binaries

1) List one toy binary you will compile with source path. 2) Name two approved crackme/CTF sources. 3) Add sha256 logging rule. 4) chmod 600.

Stuck? Ask Cyberlium AI Mentor

Authoring a toy binary beats stealing someone else's license.

Knowledge Check

1

APPLY: Lab binaries on Cyberlium means:

Multiple choice

Knowledge Check

2

APPLY: True or False: Patching should happen inside $RE_LAB VM, not on daily driver.

True or False

Knowledge Check

3

APPLY: Best first RE target is often:

Multiple choice

← Previous

Answer all 3 knowledge checks to continue. (0/3 answered)