Debugging, Disassembly & Reversing in Linux for x64 Architecture

Intermediate

43 Lessons

16h

Certificate of Completion

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

1 Assessment
14 Playgrounds
5 Quizzes

This course includes

1 Assessment
14 Playgrounds
5 Quizzes

Course Overview

GNU Debugger (GDB) is used for debugging C/C++ programs in LINUX/UNIX environments. It is a good tool to investigate what is happening inside a program, and how the contents inside the memory are changed with the execution of the program. The main focus of the course is the disassembly of the program, where we'll use simple operations in C. With the help of GDB, we'll examine the contents of the registers and memory. We'll also learn how they are changed while executing basic operations. We’ll then explore...Show More

What You'll Learn

A familiarity with disassembly in GDB environment of simple C/C++ programs

A good understanding of how to debug programs with a cross-sectional view to the contents of registers, stack and memory

The ability to use GDB as a dump analysis tool

Hands-on experience with C/C++ programs from the disassembly output

What You'll Learn

A familiarity with disassembly in GDB environment of simple C/C++ programs

See more

Course Content

1

Introduction to the Course

2

Memory, Registers, and Simple Arithmetic

3

Code Optimization

4

Number Representations

5

Pointers

6

Bytes, Words, Double, and Quad Words

2 Lessons

7

Pointers to Memory

3 Lessons

8

Logical Instructions and RIP

4 Lessons

9

Reconstructing a Program with Pointers

3 Lessons

10

Memory and Stacks

3 Lessons

11

Frame Pointer and Local Variables

4 Lessons

12

Function Parameters

2 Lessons

13

More Instructions

2 Lessons

14

Function Pointer Parameters

2 Lessons

15

Summary of Code Disassembly Patterns

1 Lesson

Assessment

Assessment

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath