Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Assembly Language and Binary Analysis Essentials

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off a Year
One Coursera Plus subscription covers most Professional Certificates on Coursera. 40% off a full year through Dec 2.
Unlock All Certificates
Master the essentials of assembly language, binary analysis, and debugging techniques for x86-64 systems. Develop the skills to read, write, and analyze low-level code using powerful tools and real-world examples. This course covers the core topics of assembly language programming, including registers, memory addressing, and instruction sets. You will learn to write and disassemble assembly programs, debug binaries, and analyze data types and executable formats for both Linux and Windows. The course also introduces you to advanced tools like IDA Pro and Data Display Debugger, empowering you to understand and manipulate binaries with confidence. Step-by-step video walkthroughs and targeted readings guide you through practical examples and real-world scenarios. Quizzes help solidify your understanding as you build expertise in low-level programming and binary analysis. This course is part two of a three-course Specialization designed to build a complete and cohesive understanding of the subject. While it offers valuable skills on its own, you'll gain the most benefit by progressing through all three courses as a structured learning journey. This course is based on Reverse Engineering Masterclass: IDA, Ghidra, Linux & x86_64, by Taifun Mamedov. Copyright © 2026 Taifun Mamedov All rights reserved. No part of this course may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you.

Syllabus

  • Assembly Language
    • This module provides an in-depth look at the fundamental components of assembly language, including registers, flags, memory addressing, and opcode interpretation. Learners will gain the skills needed to read, understand, and manipulate assembly code effectively. The content covers key concepts that form the foundation of low-level programming.
  • Creating Lab
    • This module provides step-by-step guidance on setting up essential development tools, including SASM, Ghidra, and JDK, for assembly and software development across different operating systems. Learners will gain hands-on experience with installing and understanding key programming environments. The module prepares students for practical coding tasks by establishing a functional development setup.
  • Writing Our First 64-Bit Assembly Program
    • This module introduces learners to writing 64-bit assembly programs, focusing on essential tools like NASM and makefiles. It covers practical examples of creating a 'Hello World' program both with and without a makefile, and provides an in-depth comparison of assemblers.
  • Disassembly and Disassembler
    • This module explores the fundamental concepts of disassembly, including its definition, theoretical background, and practical applications in reverse engineering. Learners will gain an understanding of how disassembly is used to analyze and interpret machine code. The module also covers the importance of disassembly in security and software analysis.
  • Understanding Data Types
    • This module explores how data is represented and manipulated at the hardware level, including CPU architectures and binary conversion techniques. Learners will gain foundational knowledge of digital data processing and numerical representation. The content prepares students for more advanced topics in computer science and programming.
  • Starting with Ghidra
    • This module introduces learners to the Ghidra reverse engineering tool, covering how to open projects and explore its features. It provides foundational knowledge for analyzing software through practical demonstrations. Learners will gain hands-on skills in setting up and navigating Ghidra for reverse engineering tasks.
  • Debugging x86-64
    • This module introduces learners to the fundamentals of debugging x86-64 architecture using GDB. It covers essential techniques for configuring GDB, locating variables in memory, and applying advanced debugging strategies to improve software reliability and performance.
  • Malware Analysis and Reverse Engineering with Ghidra
    • This module covers the fundamentals of malware analysis using Ghidra, including identifying suspicious strings, analyzing libraries, and extracting system files. Learners will gain hands-on skills in reverse engineering and using OSINT to support their analysis. The module emphasizes practical techniques for understanding and dissecting malicious software.
  • Binary Analysis
    • This module provides an in-depth exploration of the binary analysis process and the four stages of compilation, including preprocessing, compilation, assembly, and linking. Learners will gain a clear understanding of how source code is transformed into executable programs. The module equips students with foundational knowledge of compiler operations and their role in software development.
  • Writing Our Second 64-Bit Assembly Program
    • This module guides learners through the process of writing and debugging a 64-bit assembly program. It covers essential skills such as coding assembly files, using GDB for analysis, and creating makefiles to manage the build process. Learners will gain hands-on experience in assembling, testing, and maintaining low-level code.
  • Symbols, Stripped and Not Stripped Binaries
    • This module explores the structure and analysis of binary files, including how to use tools like READELF to inspect symbolic information and understand how binaries are loaded and executed. Learners will gain practical skills in examining object files and analyzing executable code.
  • Linux - ELF Format
    • This module provides an in-depth exploration of the ELF format, focusing on its structure, key components, and practical applications in executing and linking programs. Learners will gain a solid understanding of how executable files are organized and interpreted by operating systems.
  • Windows - PE Format
    • This module introduces the fundamental concepts of the Windows PE format, including its structure and key components. Learners will gain an understanding of how executable files are organized and how they interact with the Windows operating system. The material provides foundational knowledge for working with Windows binaries and file formats.
  • OR, NOT and XOR Logic
    • This module explores fundamental logical operations-OR, NOT, and XOR-and their applications in assembly language. Learners will gain a clear understanding of how these operations function and are implemented in low-level programming. The module provides a foundation for working with bitwise logic in computer systems.
  • IDA Pro / IDA Freeware
    • This module provides hands-on guidance on installing and configuring IDA Pro and IDA Freeware, while introducing essential features and tools for effective reverse engineering. Learners will gain practical knowledge on navigating the IDA interface and utilizing its core functionalities.
  • Data Display Debugger - DDD
    • This module teaches learners how to use DDD for analyzing assembly code, focusing on creating and examining programs to understand register values and debugging techniques. Students will gain hands-on experience with practical examples and real-world code analysis.

Taught by

Packt - Course Instructors

Reviews

Start your review of Assembly Language and Binary Analysis Essentials

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.