CalouDev

🐧

Intro to Programming Languages

15 / 253 11939 / 46128


Commands

Time of First Successful Submission: 2026-06-16 20:03:56

Command Arguments

Time of First Successful Submission: 2026-06-16 20:04:37

Command History

Time of First Successful Submission: 2026-06-16 20:06:02

The Root Path

Time of First Successful Submission: 2026-06-17 17:22:26

Absolute Paths

Time of First Successful Submission: 2026-06-17 17:22:54

Changing position

Time of First Successful Submission: 2026-06-17 17:24:02

Changing to an Absolute Path

Time of First Successful Submission: 2026-06-17 17:25:35

Relative Paths

Time of First Successful Submission: 2026-06-17 17:27:06

Cat

Time of First Successful Submission: 2026-06-18 20:56:14

Ls

Time of First Successful Submission: 2026-07-05 10:22:08

Ls All

Time of First Successful Submission: 2026-07-05 10:33:29

Find

Time of First Successful Submission: 2026-07-05 10:57:00

Piping Echo

Time of First Successful Submission: 2026-07-07 10:47:44

Piping Stdout

Time of First Successful Submission: 2026-07-07 10:48:40

Piping Stdin

Time of First Successful Submission: 2026-07-07 10:53:58


Intro to Cybersecurity

7 / 183 17397 / 23966


File Formats: Magic Numbers (Python)

Time of First Successful Submission: 2026-06-25 15:03:04

File Formats: Magic Numbers (C)

Time of First Successful Submission: 2026-06-25 15:27:23

File Formats: Magic Numbers (x86)

Time of First Successful Submission: 2026-06-25 15:56:21

Reading Endianness (Python)

Time of First Successful Submission: 2026-07-03 22:12:29

Reading Endianness (C)

Time of First Successful Submission: 2026-08-02 12:24:47

Your First Overflow (easy)

Time of First Successful Submission: 2026-07-02 20:52:31

Your First Overflow (hard)

Time of First Successful Submission: 2026-08-09 23:40:35


Start Here

2 / 10 55042 / 63791


Using the Terminal

Time of First Successful Submission: 2025-12-25 10:25:49

Using the VSCode Workspace

Time of First Successful Submission: 2025-12-25 10:27:19


Linux Luminarium

128 / 128 4153 / 46791


Intro to Commands

Time of First Successful Submission: 2026-06-16 20:03:56

Intro to Arguments

Time of First Successful Submission: 2026-06-16 20:04:37

Command History

Time of First Successful Submission: 2026-06-16 20:06:02

The Root

Time of First Successful Submission: 2026-06-17 17:22:26

Program and absolute paths

Time of First Successful Submission: 2026-06-17 17:22:54

Position thy self

Time of First Successful Submission: 2026-06-17 17:24:02

Position elsewhere

Time of First Successful Submission: 2026-06-17 17:25:35

implicit relative paths, from /

Time of First Successful Submission: 2026-06-17 17:27:06

explicit relative paths, from /

Time of First Successful Submission: 2026-06-17 17:27:55

implicit relative path

Time of First Successful Submission: 2026-06-17 17:29:01

home sweet home

Time of First Successful Submission: 2026-06-17 17:34:11

cat: not the pet, but the command!

Time of First Successful Submission: 2026-06-18 20:56:14

catting absolute paths

Time of First Successful Submission: 2026-06-18 20:56:47

more catting practice

Time of First Successful Submission: 2026-06-18 20:57:33

grepping for a needle in a haystack

Time of First Successful Submission: 2026-06-18 20:58:17

comparing files

Time of First Successful Submission: 2026-07-03 21:59:03

listing files

Time of First Successful Submission: 2026-07-05 10:22:08

touching files

Time of First Successful Submission: 2026-07-05 10:25:33

removing files

Time of First Successful Submission: 2026-07-05 10:26:32

moving files

Time of First Successful Submission: 2026-07-05 10:29:12

copying files

Time of First Successful Submission: 2026-07-05 10:30:02

hidden files

Time of First Successful Submission: 2026-07-05 10:33:29

An Epic Filesystem Quest

Time of First Successful Submission: 2026-07-05 10:37:03

making directories

Time of First Successful Submission: 2026-07-05 10:38:06

finding files

Time of First Successful Submission: 2026-07-05 10:57:00

linking files

Time of First Successful Submission: 2026-07-05 11:03:18

Learning From Documentation

Time of First Successful Submission: 2026-07-05 11:57:58

Learning Complex Usage

Time of First Successful Submission: 2026-07-05 12:16:36

Reading Manuals

Time of First Successful Submission: 2026-07-05 12:19:09

Searching Manuals

Time of First Successful Submission: 2026-07-05 12:20:21

Searching For Manuals

Time of First Successful Submission: 2026-07-05 13:24:58

Helpful Programs

Time of First Successful Submission: 2026-07-05 13:30:21

Help for Builtins

Time of First Successful Submission: 2026-07-05 13:32:15

Matching with *

Time of First Successful Submission: 2026-07-05 22:41:43

Matching with ?

Time of First Successful Submission: 2026-07-06 13:54:37

Matching with []

Time of First Successful Submission: 2026-07-06 13:55:46

Matching paths with []

Time of First Successful Submission: 2026-07-06 14:14:39

Multiple globs

Time of First Successful Submission: 2026-07-06 14:24:04

Mixing globs

Time of First Successful Submission: 2026-07-06 14:37:36

Exclusionary globbing

Time of First Successful Submission: 2026-07-06 14:43:04

Tab completion

Time of First Successful Submission: 2026-07-06 14:44:58

Multiple options for tab completion

Time of First Successful Submission: 2026-07-06 14:51:51

Tab completion on commands

Time of First Successful Submission: 2026-07-06 14:52:25

Redirecting output

Time of First Successful Submission: 2026-07-07 10:47:44

Redirecting more output

Time of First Successful Submission: 2026-07-07 10:48:40

Appending output

Time of First Successful Submission: 2026-07-07 10:50:06

Redirecting errors

Time of First Successful Submission: 2026-07-07 10:52:39

Redirecting input

Time of First Successful Submission: 2026-07-07 10:53:58

Grepping stored results

Time of First Successful Submission: 2026-07-07 10:55:33

Grepping live output

Time of First Successful Submission: 2026-07-07 11:01:21

Grepping errors

Time of First Successful Submission: 2026-07-07 11:02:46

Filtering with grep -v

Time of First Successful Submission: 2026-07-07 11:10:46

Filtering with sed

Time of First Successful Submission: 2026-07-07 11:12:27

Duplicating piped data with tee

Time of First Successful Submission: 2026-07-07 11:15:33

Process substitution for input

Time of First Successful Submission: 2026-07-07 12:14:18

Writing to multiple programs

Time of First Successful Submission: 2026-07-07 13:43:32

Split-piping stderr and stdout

Time of First Successful Submission: 2026-07-07 14:43:16

Named pipes

Time of First Successful Submission: 2026-07-07 15:33:39

Printing Variables

Time of First Successful Submission: 2026-07-08 19:20:35

Setting Variables

Time of First Successful Submission: 2026-07-08 19:25:09

Multi-word Variables

Time of First Successful Submission: 2026-07-09 13:33:21

Exporting Variables

Time of First Successful Submission: 2026-07-09 13:36:02

Printing Exported Variables

Time of First Successful Submission: 2026-07-09 13:43:14

Storing Command Output

Time of First Successful Submission: 2026-07-09 13:44:34

Reading Input

Time of First Successful Submission: 2026-07-09 13:46:18

Reading Files

Time of First Successful Submission: 2026-07-09 13:48:19

Translating characters

Time of First Successful Submission: 2026-07-10 21:00:16

Deleting characters

Time of First Successful Submission: 2026-07-10 21:03:08

Deleting newlines

Time of First Successful Submission: 2026-07-10 21:13:03

Extracting the first lines with head

Time of First Successful Submission: 2026-07-10 23:34:21

Extracting specific sections of text

Time of First Successful Submission: 2026-07-10 23:36:11

Sorting data

Time of First Successful Submission: 2026-07-10 23:40:01

Listing Processes

Time of First Successful Submission: 2026-07-26 23:13:40

Killing Processes

Time of First Successful Submission: 2026-07-26 23:15:44

Interrupting Processes

Time of First Successful Submission: 2026-07-26 23:16:10

Killing Misbehaving Processes

Time of First Successful Submission: 2026-07-26 23:19:44

Suspending Processes

Time of First Successful Submission: 2026-07-26 23:20:40

Resuming Processes

Time of First Successful Submission: 2026-07-26 23:23:07

Backgrounding Processes

Time of First Successful Submission: 2026-07-26 23:26:39

Foregrounding Processes

Time of First Successful Submission: 2026-07-26 23:27:07

Starting Backgrounded Processes

Time of First Successful Submission: 2026-07-26 23:28:10

Process Exit Codes

Time of First Successful Submission: 2026-07-26 23:29:35

Becoming root with su

Time of First Successful Submission: 2026-07-28 11:12:02

Other users with su

Time of First Successful Submission: 2026-07-28 11:12:35

Cracking passwords

Time of First Successful Submission: 2026-07-28 11:15:03

Using sudo

Time of First Successful Submission: 2026-07-28 11:20:26

Changing File Ownership

Time of First Successful Submission: 2026-07-28 22:10:48

Groups and Files

Time of First Successful Submission: 2026-07-28 22:15:51

Fun With Groups Names

Time of First Successful Submission: 2026-07-28 22:18:15

Changing Permissions

Time of First Successful Submission: 2026-07-28 22:30:44

Executable Files

Time of First Successful Submission: 2026-07-28 23:00:05

Permission Tweaking Practice

Time of First Successful Submission: 2026-07-28 23:06:19

Permissions Setting Practice

Time of First Successful Submission: 2026-07-28 23:21:19

The SUID Bit

Time of First Successful Submission: 2026-07-28 23:48:04

Chaining with Semicolons

Time of First Successful Submission: 2026-07-29 23:38:06

Building on Success

Time of First Successful Submission: 2026-07-29 23:38:47

Handling Failure

Time of First Successful Submission: 2026-07-29 23:40:19

Your First Shell Script

Time of First Successful Submission: 2026-07-29 23:42:17

Redirecting Script Output

Time of First Successful Submission: 2026-07-29 23:44:35

Executable Shell Scripts

Time of First Successful Submission: 2026-07-29 23:47:47

Understanding Shebangs

Time of First Successful Submission: 2026-07-29 23:55:57

Scripting with Arguments

Time of First Successful Submission: 2026-07-30 00:03:00

Scripting with Conditionals

Time of First Successful Submission: 2026-07-30 00:05:44

Scripting with Default Cases

Time of First Successful Submission: 2026-07-30 00:06:25

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-07-30 00:09:06

Reading Shell Scripts

Time of First Successful Submission: 2026-07-30 00:18:00

Launching Screen

Time of First Successful Submission: 2026-07-30 20:57:08

Detaching and Attaching

Time of First Successful Submission: 2026-07-30 20:58:27

Finding Sessions

Time of First Successful Submission: 2026-07-30 20:59:52

Switching Windows

Time of First Successful Submission: 2026-07-30 21:01:19

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-07-30 21:09:04

Switching Windows (tmux)

Time of First Successful Submission: 2026-07-30 21:16:56

The PATH Variable

Time of First Successful Submission: 2026-07-30 23:21:12

Setting PATH

Time of First Successful Submission: 2026-07-30 23:25:56

Finding Commands

Time of First Successful Submission: 2026-07-30 23:34:27

Adding Commands

Time of First Successful Submission: 2026-07-30 23:51:11

Hijacking Commands

Time of First Successful Submission: 2026-07-31 00:09:22

Bashrc Backdoor

Time of First Successful Submission: 2026-07-31 07:00:30

Sniffing Input

Time of First Successful Submission: 2026-07-31 07:13:11

Overshared Directories

Time of First Successful Submission: 2026-07-31 23:14:10

Tricky Linking

Time of First Successful Submission: 2026-08-01 01:52:02

Sniffing Process Arguments

Time of First Successful Submission: 2026-08-03 02:07:36

Snooping on Configurations

Time of First Successful Submission: 2026-08-03 02:14:08

The Fork Bomb

Time of First Successful Submission: 2026-08-03 02:45:14

Disk-Space Doomsday

Time of First Successful Submission: 2026-08-03 02:53:34

rm -rf /

Time of First Successful Submission: 2026-08-03 02:56:39

Life after rm -rf /

Time of First Successful Submission: 2026-08-03 03:02:14

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-08-03 03:09:53


Computing 101

98 / 132 703 / 23125


Your First Register

Time of First Successful Submission: 2025-12-25 10:44:28

Your First Syscall

Time of First Successful Submission: 2025-12-25 10:51:39

Exit Codes

Time of First Successful Submission: 2025-12-25 10:54:34

Building Executables

Time of First Successful Submission: 2025-12-25 17:12:29

Moving Between Registers

Time of First Successful Submission: 2025-12-25 17:21:00

Loading From Memory

Time of First Successful Submission: 2025-12-27 23:00:33

More Loading Practice

Time of First Successful Submission: 2026-06-19 11:39:39

Dereferencing Pointers

Time of First Successful Submission: 2026-06-19 11:44:52

Dereferencing Yourself

Time of First Successful Submission: 2026-06-19 11:48:00

Dereferencing with Offsets

Time of First Successful Submission: 2026-06-19 11:51:16

Stored Addresses

Time of First Successful Submission: 2026-06-19 11:55:32

Double Dereference

Time of First Successful Submission: 2026-06-19 11:57:44

The Stack

Time of First Successful Submission: 2026-06-20 11:11:26

Stack Offsets

Time of First Successful Submission: 2026-06-20 11:12:50

Program Arguments on the Stack

Time of First Successful Submission: 2026-06-20 11:16:07

Popping From the Stack

Time of First Successful Submission: 2026-06-20 11:19:35

Negative Numbers

Time of First Successful Submission: 2026-06-21 11:43:38

Negative Numbers (16-bit)

Time of First Successful Submission: 2026-06-21 11:47:38

Negative Numbers (32-bit)

Time of First Successful Submission: 2026-06-21 11:49:21

Encoding Negatives

Time of First Successful Submission: 2026-06-21 12:28:49

Binary and Hex Encoding

Time of First Successful Submission: 2026-06-21 12:30:39

More Hex

Time of First Successful Submission: 2026-06-21 12:31:54

Decoding Hex

Time of First Successful Submission: 2026-06-21 12:33:07

Mixed Conversions

Time of First Successful Submission: 2026-06-21 13:09:40

Disassembling Programs

Time of First Successful Submission: 2026-06-21 14:00:38

Tracing Syscalls

Time of First Successful Submission: 2025-12-26 14:41:07

Starting GDB

Time of First Successful Submission: 2025-12-26 18:27:06

Quitting GDB

Time of First Successful Submission: 2026-06-21 13:30:35

Starting Programs in GDB

Time of First Successful Submission: 2025-12-26 18:29:34

Disassembling in GDB

Time of First Successful Submission: 2026-06-21 13:35:46

Stepping Through Instructions

Time of First Successful Submission: 2026-06-21 13:38:01

Reading Register Values

Time of First Successful Submission: 2026-06-21 13:40:02

Setting Register Values

Time of First Successful Submission: 2026-08-03 23:21:46

Popping Stack Values

Time of First Successful Submission: 2026-06-21 13:41:36

Examining Memory

Time of First Successful Submission: 2026-06-21 13:43:15

Examining Stack Pointers

Time of First Successful Submission: 2026-06-21 13:51:04

Cooperative Debugging

Time of First Successful Submission: 2026-06-21 13:56:41

Running with Arguments

Time of First Successful Submission: 2026-06-21 13:58:24

Redirecting Input in GDB

Time of First Successful Submission: 2026-08-03 23:29:16

Writing Output

Time of First Successful Submission: 2026-06-22 15:28:50

Chaining Syscalls

Time of First Successful Submission: 2026-06-22 15:31:06

Writing Strings

Time of First Successful Submission: 2026-06-22 15:34:44

Reading Data

Time of First Successful Submission: 2026-06-22 16:07:33

Reading Exactly

Time of First Successful Submission: 2026-06-22 16:13:38

Opening Files

Time of First Successful Submission: 2026-06-23 11:37:17

Hardcoding the Filename

Time of First Successful Submission: 2026-06-23 13:01:26

RIP-Relative Strings

Time of First Successful Submission: 2026-06-23 13:19:02

Comparing Values

Time of First Successful Submission: 2026-06-24 10:04:53

Comparing Characters

Time of First Successful Submission: 2026-06-24 10:17:58

Conditional Control Flow

Time of First Successful Submission: 2026-06-24 10:53:52

Comparing Strings

Time of First Successful Submission: 2026-06-24 11:20:18

Reverse the Password

Time of First Successful Submission: 2026-06-24 12:41:27

Conditionals Without Conditionals

Time of First Successful Submission: 2026-06-25 13:10:48

Recognizing Loops

Time of First Successful Submission: 2026-06-25 13:30:56

Writing Loops

Time of First Successful Submission: 2026-08-04 00:59:46

Writing From a Shared Library

Time of First Successful Submission: 2026-08-05 12:32:05

Returning a Value

Time of First Successful Submission: 2026-08-05 23:54:16

Calling Through a Pointer

Time of First Successful Submission: 2026-08-06 23:16:21

Calling Through a Pointer with an Argument

Time of First Successful Submission: 2026-08-06 23:27:24

Saving Caller-Saved Registers

Time of First Successful Submission: 2026-08-06 23:53:19

Saving Callee-Saved Registers

Time of First Successful Submission: 2026-08-07 00:08:26

Sign Extension

Time of First Successful Submission: 2026-08-08 07:26:01

Little-Endian Bytes

Time of First Successful Submission: 2026-08-08 07:40:36

Qword by Qword

Time of First Successful Submission: 2026-08-08 08:03:06

Dword by Dword

Time of First Successful Submission: 2026-08-08 09:46:51

Word by Word

Time of First Successful Submission: 2026-08-08 10:16:12

Byte by Byte

Time of First Successful Submission: 2026-08-08 12:25:07

Cracking a Struct

Time of First Successful Submission: 2026-08-08 12:58:01

Scrambled Struct

Time of First Successful Submission: 2026-08-09 00:21:19

Reverse the Calculation

Time of First Successful Submission: 2026-08-09 00:50:11

Reverse the Reverse

Time of First Successful Submission: 2026-08-09 00:53:41

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-08-09 01:42:15

Even or Odd

Time of First Successful Submission: 2026-08-09 02:12:00

Masking Bits

Time of First Successful Submission: 2026-08-09 02:21:53

Lowercase a String

Time of First Successful Submission: 2026-08-09 08:19:34

Uppercase a String

Time of First Successful Submission: 2026-08-09 08:26:18

Swap Case

Time of First Successful Submission: 2026-08-09 08:44:32

Shifting Left

Time of First Successful Submission: 2026-08-09 09:10:32

Shifting Right

Time of First Successful Submission: 2026-08-09 09:12:40

Loops on Data

Time of First Successful Submission: 2026-08-09 10:18:18

Reaching Into the Caller's Frame

Time of First Successful Submission: 2026-08-10 01:05:22

Loading Stale Stack Data

Time of First Successful Submission: 2026-08-10 01:24:13

Stealing Stale Stack Data

Time of First Successful Submission: 2026-08-11 00:14:50

Reserving Your Own Frame

Time of First Successful Submission: 2026-08-13 04:17:07

Using Your Own Frame

Time of First Successful Submission: 2026-08-18 00:10:21

Environment Variables on the Stack

Time of First Successful Submission: 2026-08-18 04:36:34

Aligning the Stack Through the Environment

Time of First Successful Submission: 2026-08-19 07:41:03

Aligning the Stack Through GDB

Time of First Successful Submission: 2026-08-19 07:49:57

Aligning the Stack Through GDB, Generalized

Time of First Successful Submission: 2026-08-19 08:01:13

A Single Digit

Time of First Successful Submission: 2026-08-20 03:28:05

Two Digits

Time of First Successful Submission: 2026-08-20 03:47:21

String to Integer

Time of First Successful Submission: 2026-08-20 04:08:23

Negative Numbers

Time of First Successful Submission: 2026-08-20 04:17:30

Where the Number Ends

Time of First Successful Submission: 2026-08-20 23:31:18

A Whole Program

Time of First Successful Submission: 2026-08-21 03:25:24

A Single Digit, Back to Text

Time of First Successful Submission: 2026-08-22 02:55:17

Divide and Remainder

Time of First Successful Submission: 2026-08-22 05:05:03

Drop the Leading Zero

Time of First Successful Submission: 2026-08-23 13:37:22


Playing With Programs

8 / 116 20675 / 26140


What's the password?

Time of First Successful Submission: 2026-07-12 21:12:51

... and again!

Time of First Successful Submission: 2026-08-24 01:34:46

Newline Troubles

Time of First Successful Submission: 2026-08-24 01:41:48

Reasoning about files

Time of First Successful Submission: 2026-08-24 01:58:02

Specifying Filenames

Time of First Successful Submission: 2026-08-25 00:10:57

Binary and Hex Encoding

Time of First Successful Submission: 2026-08-26 10:52:50

More Hex

Time of First Successful Submission: 2026-08-26 11:01:17

Decoding Hex

Time of First Successful Submission: 2026-08-28 10:18:35


DSU Cyber Camps

3 / 104 53156 / 64199


Using the Terminal

Time of First Successful Submission: 2025-12-25 10:25:49

Using the VSCode Workspace

Time of First Successful Submission: 2025-12-25 10:27:19

Buffer Overflow

Time of First Successful Submission: 2026-08-12 10:31:09


GCA CTF

3 / 104 53156 / 64199


Using the Terminal

Time of First Successful Submission: 2025-12-25 10:25:49

Using the VSCode Workspace

Time of First Successful Submission: 2025-12-25 10:27:19

Buffer Overflow

Time of First Successful Submission: 2026-08-12 10:31:09