prr1n

🐧 💻

Intro to Programming Languages

15 / 234 9876 / 33531


Commands

Time of First Successful Submission: 2026-04-14 13:56:47

Command Arguments

Time of First Successful Submission: 2026-04-14 13:57:26

Command History

Time of First Successful Submission: 2026-04-14 13:57:51

The Root Path

Time of First Successful Submission: 2026-04-15 07:40:32

Absolute Paths

Time of First Successful Submission: 2026-04-15 07:41:05

Changing position

Time of First Successful Submission: 2026-04-15 07:42:29

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-15 07:43:46

Relative Paths

Time of First Successful Submission: 2026-04-15 07:46:09

Cat

Time of First Successful Submission: 2026-04-15 07:55:48

Ls

Time of First Successful Submission: 2026-04-15 08:01:07

Ls All

Time of First Successful Submission: 2026-04-15 08:22:06

Find

Time of First Successful Submission: 2026-04-15 08:32:31

Piping Echo

Time of First Successful Submission: 2026-04-16 07:18:34

Piping Stdout

Time of First Successful Submission: 2026-04-16 07:19:57

Piping Stdin

Time of First Successful Submission: 2026-04-16 07:27:36


Start Here

10 / 12 20748 / 45408


Using the Terminal

Time of First Successful Submission: 2026-04-14 13:47:11

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-14 13:49:51

Using the GUI Desktop

Time of First Successful Submission: 2026-04-14 13:51:46

Pasting into the Desktop

Time of First Successful Submission: 2026-04-14 13:53:13

Restarting Challenges

Time of First Successful Submission: 2026-04-14 13:55:05

Challenge Programs

Time of First Successful Submission: 2026-04-27 12:39:52

The Flag File

Time of First Successful Submission: 2026-04-27 12:41:18

Using Privileged Mode

Time of First Successful Submission: 2026-04-27 12:44:06

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-27 12:46:31

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-27 12:47:02


Linux Luminarium

128 / 128 2858 / 33970


Intro to Commands

Time of First Successful Submission: 2026-04-14 13:56:47

Intro to Arguments

Time of First Successful Submission: 2026-04-14 13:57:26

Command History

Time of First Successful Submission: 2026-04-14 13:57:51

The Root

Time of First Successful Submission: 2026-04-15 07:40:32

Program and absolute paths

Time of First Successful Submission: 2026-04-15 07:41:05

Position thy self

Time of First Successful Submission: 2026-04-15 07:42:29

Position elsewhere

Time of First Successful Submission: 2026-04-15 07:43:46

implicit relative paths, from /

Time of First Successful Submission: 2026-04-15 07:46:09

explicit relative paths, from /

Time of First Successful Submission: 2026-04-15 07:47:29

implicit relative path

Time of First Successful Submission: 2026-04-15 07:48:10

home sweet home

Time of First Successful Submission: 2026-04-15 07:51:17

cat: not the pet, but the command!

Time of First Successful Submission: 2026-04-15 07:55:48

catting absolute paths

Time of First Successful Submission: 2026-04-15 07:56:15

more catting practice

Time of First Successful Submission: 2026-04-15 07:57:24

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-15 07:58:39

comparing files

Time of First Successful Submission: 2026-04-15 08:00:24

listing files

Time of First Successful Submission: 2026-04-15 08:01:07

touching files

Time of First Successful Submission: 2026-04-15 08:01:58

removing files

Time of First Successful Submission: 2026-04-15 08:02:40

moving files

Time of First Successful Submission: 2026-04-15 08:03:32

copying files

Time of First Successful Submission: 2026-04-15 08:21:08

hidden files

Time of First Successful Submission: 2026-04-15 08:22:06

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-15 08:26:00

making directories

Time of First Successful Submission: 2026-04-15 08:26:48

finding files

Time of First Successful Submission: 2026-04-15 08:32:31

linking files

Time of First Successful Submission: 2026-04-15 08:40:47

Learning From Documentation

Time of First Successful Submission: 2026-04-15 09:23:00

Learning Complex Usage

Time of First Successful Submission: 2026-04-15 09:24:53

Reading Manuals

Time of First Successful Submission: 2026-04-15 09:27:45

Searching Manuals

Time of First Successful Submission: 2026-04-15 13:43:04

Searching For Manuals

Time of First Successful Submission: 2026-04-15 13:46:47

Helpful Programs

Time of First Successful Submission: 2026-04-15 13:49:03

Help for Builtins

Time of First Successful Submission: 2026-04-15 13:50:32

Matching with *

Time of First Successful Submission: 2026-04-15 13:52:50

Matching with ?

Time of First Successful Submission: 2026-04-15 13:54:16

Matching with []

Time of First Successful Submission: 2026-04-15 13:56:35

Matching paths with []

Time of First Successful Submission: 2026-04-15 13:58:25

Multiple globs

Time of First Successful Submission: 2026-04-15 14:00:35

Mixing globs

Time of First Successful Submission: 2026-04-15 14:02:51

Exclusionary globbing

Time of First Successful Submission: 2026-04-15 14:04:41

Tab completion

Time of First Successful Submission: 2026-04-15 14:05:36

Multiple options for tab completion

Time of First Successful Submission: 2026-04-15 14:06:38

Tab completion on commands

Time of First Successful Submission: 2026-04-15 14:08:00

Redirecting output

Time of First Successful Submission: 2026-04-16 07:18:34

Redirecting more output

Time of First Successful Submission: 2026-04-16 07:19:57

Appending output

Time of First Successful Submission: 2026-04-16 07:22:02

Redirecting errors

Time of First Successful Submission: 2026-04-16 07:24:34

Redirecting input

Time of First Successful Submission: 2026-04-16 07:27:36

Grepping stored results

Time of First Successful Submission: 2026-04-16 07:30:27

Grepping live output

Time of First Successful Submission: 2026-04-16 07:53:01

Grepping errors

Time of First Successful Submission: 2026-04-16 07:59:21

Filtering with grep -v

Time of First Successful Submission: 2026-04-16 08:01:03

Filtering with sed

Time of First Successful Submission: 2026-04-16 08:04:19

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-16 08:21:28

Process substitution for input

Time of First Successful Submission: 2026-04-16 08:25:35

Writing to multiple programs

Time of First Successful Submission: 2026-04-16 08:36:04

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-16 08:49:47

Named pipes

Time of First Successful Submission: 2026-04-16 09:15:57

Printing Variables

Time of First Successful Submission: 2026-04-16 09:19:55

Setting Variables

Time of First Successful Submission: 2026-04-16 09:21:11

Multi-word Variables

Time of First Successful Submission: 2026-04-16 09:22:15

Exporting Variables

Time of First Successful Submission: 2026-04-16 09:25:20

Printing Exported Variables

Time of First Successful Submission: 2026-04-16 09:26:40

Storing Command Output

Time of First Successful Submission: 2026-04-16 11:45:40

Reading Input

Time of First Successful Submission: 2026-04-16 11:47:14

Reading Files

Time of First Successful Submission: 2026-04-16 11:49:06

Translating characters

Time of First Successful Submission: 2026-04-16 11:55:39

Deleting characters

Time of First Successful Submission: 2026-04-16 11:57:02

Deleting newlines

Time of First Successful Submission: 2026-04-16 11:58:07

Extracting the first lines with head

Time of First Successful Submission: 2026-04-16 12:00:11

Extracting specific sections of text

Time of First Successful Submission: 2026-04-16 12:03:51

Sorting data

Time of First Successful Submission: 2026-04-16 12:05:29

Listing Processes

Time of First Successful Submission: 2026-04-16 12:09:34

Killing Processes

Time of First Successful Submission: 2026-04-16 12:12:03

Interrupting Processes

Time of First Successful Submission: 2026-04-16 12:12:57

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-16 12:15:58

Suspending Processes

Time of First Successful Submission: 2026-04-16 12:16:58

Resuming Processes

Time of First Successful Submission: 2026-04-16 12:17:48

Backgrounding Processes

Time of First Successful Submission: 2026-04-16 12:19:44

Foregrounding Processes

Time of First Successful Submission: 2026-04-16 12:21:02

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-16 12:23:25

Process Exit Codes

Time of First Successful Submission: 2026-04-16 12:25:30

Becoming root with su

Time of First Successful Submission: 2026-04-16 12:32:43

Other users with su

Time of First Successful Submission: 2026-04-16 12:33:48

Cracking passwords

Time of First Successful Submission: 2026-04-16 12:36:10

Using sudo

Time of First Successful Submission: 2026-04-16 12:37:50

Changing File Ownership

Time of First Successful Submission: 2026-04-17 07:17:30

Groups and Files

Time of First Successful Submission: 2026-04-17 07:19:14

Fun With Groups Names

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

Changing Permissions

Time of First Successful Submission: 2026-04-17 07:25:24

Executable Files

Time of First Successful Submission: 2026-04-17 07:26:30

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-17 07:40:57

Permissions Setting Practice

Time of First Successful Submission: 2026-04-17 07:48:35

The SUID Bit

Time of First Successful Submission: 2026-04-17 07:52:23

Chaining with Semicolons

Time of First Successful Submission: 2026-04-17 08:00:38

Building on Success

Time of First Successful Submission: 2026-04-17 08:01:41

Handling Failure

Time of First Successful Submission: 2026-04-17 08:06:28

Your First Shell Script

Time of First Successful Submission: 2026-04-17 09:55:36

Redirecting Script Output

Time of First Successful Submission: 2026-04-17 10:26:17

Executable Shell Scripts

Time of First Successful Submission: 2026-04-17 10:05:27

Understanding Shebangs

Time of First Successful Submission: 2026-04-17 10:08:18

Scripting with Arguments

Time of First Successful Submission: 2026-04-17 10:10:52

Scripting with Conditionals

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

Scripting with Default Cases

Time of First Successful Submission: 2026-04-17 10:16:27

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-17 10:18:20

Reading Shell Scripts

Time of First Successful Submission: 2026-04-17 10:24:05

Launching Screen

Time of First Successful Submission: 2026-04-17 10:32:36

Detaching and Attaching

Time of First Successful Submission: 2026-04-17 10:34:11

Finding Sessions

Time of First Successful Submission: 2026-04-17 10:35:50

Switching Windows

Time of First Successful Submission: 2026-04-17 10:37:04

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-04-17 11:09:03

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-17 11:10:09

The PATH Variable

Time of First Successful Submission: 2026-04-17 11:28:10

Setting PATH

Time of First Successful Submission: 2026-04-17 11:30:13

Finding Commands

Time of First Successful Submission: 2026-04-17 11:33:36

Adding Commands

Time of First Successful Submission: 2026-04-17 11:36:18

Hijacking Commands

Time of First Successful Submission: 2026-04-17 11:43:02

Bashrc Backdoor

Time of First Successful Submission: 2026-04-21 08:31:14

Sniffing Input

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

Overshared Directories

Time of First Successful Submission: 2026-04-21 09:55:05

Tricky Linking

Time of First Successful Submission: 2026-04-21 10:09:55

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-21 10:15:12

Snooping on Configurations

Time of First Successful Submission: 2026-04-21 10:19:19

The Fork Bomb

Time of First Successful Submission: 2026-04-21 10:34:24

Disk-Space Doomsday

Time of First Successful Submission: 2026-04-21 10:40:11

rm -rf /

Time of First Successful Submission: 2026-04-21 10:43:37

Life after rm -rf /

Time of First Successful Submission: 2026-04-21 10:53:32

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-21 11:02:49


Computing 101

94 / 94 501 / 22358


Your First Register

Time of First Successful Submission: 2026-04-21 13:22:26

Your First Syscall

Time of First Successful Submission: 2026-04-21 13:27:12

Exit Codes

Time of First Successful Submission: 2026-04-21 13:32:19

Building Executables

Time of First Successful Submission: 2026-04-21 13:42:46

Moving Between Registers

Time of First Successful Submission: 2026-04-21 13:47:09

Loading From Memory

Time of First Successful Submission: 2026-04-22 09:45:25

More Loading Practice

Time of First Successful Submission: 2026-04-22 09:54:41

Dereferencing Pointers

Time of First Successful Submission: 2026-04-22 10:11:16

Dereferencing Yourself

Time of First Successful Submission: 2026-04-22 10:23:08

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-22 10:29:00

Stored Addresses

Time of First Successful Submission: 2026-04-22 10:42:00

Double Dereference

Time of First Successful Submission: 2026-04-22 10:51:29

The Stack

Time of First Successful Submission: 2026-04-22 11:38:14

Stack Offsets

Time of First Successful Submission: 2026-04-22 11:43:40

Program Arguments on the Stack

Time of First Successful Submission: 2026-04-22 11:53:35

Popping From the Stack

Time of First Successful Submission: 2026-04-22 11:57:14

Disassembling Programs

Time of First Successful Submission: 2026-04-22 12:34:00

Tracing Syscalls

Time of First Successful Submission: 2026-04-22 13:03:47

Starting GDB

Time of First Successful Submission: 2026-04-22 13:08:04

Quitting GDB

Time of First Successful Submission: 2026-04-22 13:09:29

Starting Programs in GDB

Time of First Successful Submission: 2026-04-22 13:11:43

Disassembling in GDB

Time of First Successful Submission: 2026-04-22 13:13:44

Stepping Through Instructions

Time of First Successful Submission: 2026-04-22 13:16:55

Reading Register Values

Time of First Successful Submission: 2026-04-22 13:19:06

Popping Stack Values

Time of First Successful Submission: 2026-04-22 13:21:15

Examining Memory

Time of First Successful Submission: 2026-04-22 13:24:32

Examining Stack Pointers

Time of First Successful Submission: 2026-04-22 13:27:34

Cooperative Debugging

Time of First Successful Submission: 2026-04-22 13:32:56

Writing Output

Time of First Successful Submission: 2026-04-23 08:17:09

Chaining Syscalls

Time of First Successful Submission: 2026-04-23 08:31:01

Writing Strings

Time of First Successful Submission: 2026-04-23 08:34:32

Reading Data

Time of First Successful Submission: 2026-04-23 08:43:32

Opening Files

Time of First Successful Submission: 2026-04-23 10:27:45

Hardcoding the Filename

Time of First Successful Submission: 2026-04-23 10:50:40

Comparing Values

Time of First Successful Submission: 2026-04-23 12:45:19

Comparing Characters

Time of First Successful Submission: 2026-04-23 12:49:33

Conditional Control Flow

Time of First Successful Submission: 2026-04-23 13:02:29

Comparing Strings

Time of First Successful Submission: 2026-04-23 13:14:42

Reverse the Password

Time of First Successful Submission: 2026-04-23 13:41:06

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-24 08:02:32

Looping

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

Reverse the Calculation

Time of First Successful Submission: 2026-04-24 10:43:15

Reverse the Reverse

Time of First Successful Submission: 2026-04-24 11:09:09

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-04-24 11:17:11

Loops on Data

Time of First Successful Submission: 2026-04-24 11:31:07

set-register

Time of First Successful Submission: 2026-04-27 07:39:58

set-multiple-registers

Time of First Successful Submission: 2026-04-27 07:51:46

add-to-register

Time of First Successful Submission: 2026-04-27 07:54:51

linear-equation-registers

Time of First Successful Submission: 2026-04-27 08:00:47

integer-division

Time of First Successful Submission: 2026-04-27 08:13:13

modulo-operation

Time of First Successful Submission: 2026-04-27 08:20:02

set-upper-byte

Time of First Successful Submission: 2026-04-27 08:28:16

efficient-modulo

Time of First Successful Submission: 2026-04-27 08:54:45

byte-extraction

Time of First Successful Submission: 2026-04-27 09:16:22

bitwise-and

Time of First Successful Submission: 2026-04-27 09:43:14

check-even

Time of First Successful Submission: 2026-04-27 10:09:17

memory-read

Time of First Successful Submission: 2026-04-27 12:15:37

memory-write

Time of First Successful Submission: 2026-04-27 12:21:16

memory-increment

Time of First Successful Submission: 2026-04-27 12:32:12

byte-access

Time of First Successful Submission: 2026-04-27 12:57:49

memory-size-access

Time of First Successful Submission: 2026-04-27 13:06:09

little-endian-write

Time of First Successful Submission: 2026-04-27 13:44:24

memory-sum

Time of First Successful Submission: 2026-04-28 08:05:16

stack-subtraction

Time of First Successful Submission: 2026-04-28 08:20:43

swap-stack-values

Time of First Successful Submission: 2026-04-28 08:24:25

average-stack-values

Time of First Successful Submission: 2026-04-28 08:59:36

absolute-jump

Time of First Successful Submission: 2026-04-28 09:55:32

relative-jump

Time of First Successful Submission: 2026-04-28 10:20:16

jump-trampoline

Time of First Successful Submission: 2026-04-28 10:24:40

conditional-jump

Time of First Successful Submission: 2026-04-28 11:13:07

indirect-jump

Time of First Successful Submission: 2026-04-28 13:16:37

average-loop

Time of First Successful Submission: 2026-04-28 13:59:05

count-non-zero

Time of First Successful Submission: 2026-04-29 09:31:12

string-lower

Time of First Successful Submission: 2026-04-29 13:03:28

most-common-byte

Time of First Successful Submission: 2026-04-29 13:46:59

Exit

Time of First Successful Submission: 2026-04-30 07:31:43

Socket

Time of First Successful Submission: 2026-04-30 07:59:55

Bind

Time of First Successful Submission: 2026-04-30 11:58:24

Listen

Time of First Successful Submission: 2026-04-30 12:31:09

Accept

Time of First Successful Submission: 2026-05-01 07:46:15

Static Response

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

Dynamic Response

Time of First Successful Submission: 2026-05-01 10:16:41

Iterative GET Server

Time of First Successful Submission: 2026-05-01 10:35:06

Concurrent GET Server

Time of First Successful Submission: 2026-05-01 11:18:09

Concurrent POST Server

Time of First Successful Submission: 2026-05-05 09:25:48

Web Server

Time of First Successful Submission: 2026-05-05 09:30:27

Debugging Programs

Time of First Successful Submission: 2026-05-06 12:33:45

Inspecting Registers

Time of First Successful Submission: 2026-05-06 12:39:50

Examining Memory

Time of First Successful Submission: 2026-05-06 13:11:06

Setting Breakpoints

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

GDB Scripting

Time of First Successful Submission: 2026-05-09 10:00:43

Modifying Data

Time of First Successful Submission: 2026-05-11 10:01:26

Modifying Execution

Time of First Successful Submission: 2026-05-12 08:14:06

Broken Functions

Time of First Successful Submission: 2026-05-12 08:37:25


Playing With Programs

8 / 116 18917 / 23779


What's the password?

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

... and again!

Time of First Successful Submission: 2026-05-07 10:50:16

Newline Troubles

Time of First Successful Submission: 2026-05-08 10:38:25

Reasoning about files

Time of First Successful Submission: 2026-05-12 11:16:15

Specifying Filenames

Time of First Successful Submission: 2026-05-12 11:27:48

Binary and Hex Encoding

Time of First Successful Submission: 2026-05-12 12:35:15

More Hex

Time of First Successful Submission: 2026-05-13 08:56:20

Decoding Hex

Time of First Successful Submission: 2026-05-13 09:10:55


GCA CTF

10 / 104 20888 / 45698


Using the Terminal

Time of First Successful Submission: 2026-04-14 13:47:11

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-14 13:49:51

Using the GUI Desktop

Time of First Successful Submission: 2026-04-14 13:51:46

Pasting into the Desktop

Time of First Successful Submission: 2026-04-14 13:53:13

Restarting Challenges

Time of First Successful Submission: 2026-04-14 13:55:05

Challenge Programs

Time of First Successful Submission: 2026-04-27 12:39:52

The Flag File

Time of First Successful Submission: 2026-04-27 12:41:18

Using Privileged Mode

Time of First Successful Submission: 2026-04-27 12:44:06

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-27 12:46:31

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-27 12:47:02