You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: challenges/computing-101/DESCRIPTION.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,3 +15,7 @@ If you have questions, comments, feedback, and so on, join us on [the Discord ch
15
15
**NOTE:**
16
16
If you are looking for the old Assembly Crash Course, it has [been archived](https://pwn.college/archive/assembly-crash-course).
17
17
Computing 101 is the current path through that material, with the concepts split across the modules below.
18
+
19
+
**NOTE:**
20
+
Computing 101 is foundational welcome material, not a belt checkpoint.
21
+
Later belt dojos assume these machine-code and assembly skills, so learners with prior experience can skip around, and this is the place to return when those assumptions feel shaky.
Copy file name to clipboardExpand all lines: challenges/computing-101/control-flow/switch/DESCRIPTION.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,10 @@ In this way, the program implements conditional logic _without any conditional c
27
27
This challenge (at `/challenge/reverse-me`) has 256 possible cases, with only one of them (corresponding to an alphanumeric character) being different than the others.
28
28
Look at the jump table (you'll have to look at a lot of entries...), look at the program to understand how to influence the index, and get the flag!
29
29
30
+
`/challenge/reverse-me` is generated without source-level debug information, so gdb may say that it has no debugging symbols.
31
+
That is expected: use gdb for disassembly and memory inspection, not for source-level debugging.
32
+
As in the previous challenge, use gdb to understand the binary, then run `/challenge/reverse-me` directly with the recovered byte to get the flag.
33
+
30
34
----
31
35
**NOTE:**
32
36
Though you should look at the disassembly using `objdump -d -M intel /challenge/reverse-me`, objdump will try to interpret the jump table data as assembly instructions, which will result in garbage.
@@ -70,4 +74,3 @@ The output will be long, but it starts like this:
70
74
The number after `x/` is how many entries gdb should print.
71
75
Since the input byte chooses one of 256 entries, and each entry is one 8-byte code address, this lets you scan the table for the one address that differs.
72
76
If gdb prints multiple entries on one line, the address on the left is the first entry on that line; the next entry is 8 bytes later.
73
-
As in the previous challenge, use gdb to understand the binary, then run `/challenge/reverse-me` directly with the recovered byte to get the flag.
0 commit comments