pwn.college
DojosLeaderboardCommunity
LoginRegister
Back to intro-to-cybersecurity

Reverse Engineering

intro-to-cybersecurity
0/39 challenges completed

Welcome to your introduction to Reverse Engineering! Reverse Engineering is a critial art that you will evolve during your journey through pwn.college, and this journey starts here with the Connor Image Format, cIMG. You have never heard of cIMG before, and it does not actually exist in the wider world, but throughout this module you will reverse engineer it by analyzing various iterations of cIMG rendering binaries. By the time you solve the last level, you will have gone from no knowledge about cIMG to complete understanding of it, a path that you will walk many times with many different programs.

Reverse Engineering: Introduction
Video
Slides
Fundamentals: Binary Files
Video
Slides
Fundamentals: Linux Process Loading
Video
Slides
Fundamentals: Linux Process Execution
Video
Slides
Reverse Engineering: Functions and Frames
Video
Slides
Reverse Engineering: Data Access
Video
Slides
Reverse Engineering: Static Tools
Video
Slides
Reverse Engineering: Dynamic Tools
Video
Slides
Reverse Engineering: Real-world Applications
Video
Slides
Other Resources
Useful Tools

Challenges

1
File Formats: Magic Numbers (Python)
2
File Formats: Magic Numbers (C)
3
File Formats: Magic Numbers (x86)
4
Reading Endianness (Python)
5
Reading Endianness (C)
6
Reading Endianness (x86)
7
Version Information (Python)
8
Version Information (C)
9
Version Information (x86)
10
Metadata and Data (Python)
11
Metadata and Data (C)
12
Metadata and Data (x86)
13
Input Restrictions (Python)
14
Input Restrictions (C)
15
Input Restrictions (x86)
16
Behold the cIMG! (Python)
17
Behold the cIMG! (C)
18
Behold the cIMG! (x86)
19
A Basic cIMG (Python)
20
A Basic cIMG (C)
21
A Basic cIMG (x86)
22
Internal State Mini (C)
23
Internal State Mini (x86)
24
Internal State (C)
25
Internal State (x86)
26
File Formats: Directives (C)
27
File Formats: Directives
28
The Patch Directive
29
Optimizing for Space
30
Tweaking Images
31
Storage and Retrieval
32
Extracting Knowledge
33
Advanced Sprites
34
Accessing Resources
35
Unsafe Animations
36
Animations
37
Interoperability: Patching Data
38
Patching Code
39
Patching Control Flow