Mastering Reverse Engineering & Malware Analysis | REMASM+

Master Reverse Engineering, Malware Analysis, Linux, Cyber Security, Ghidra,x86-64, IDA Pro, IDA Free, Assembly and NASM

[Free Udemy Course] Mastering Reverse Engineering & Malware Analysis | REMASM+

What you'll learn

  • The theory behind disassembly and its role in reverse engineering.
  • The four stages of binary analysis: Preprocessing, Compilation, Assembly, and Linking.
  • The compilation process breakdown and the purpose of each phase.
  • Working with symbolic information in stripped and not stripped binaries.
  • How binary executables load and execute.
  • Installation and basics of Ghidra, a tool for reverse engineering.
  • Installing the Java Development Kit (JDK) for Ghidra.
  • Navigating and utilizing Ghidra for project analysis.
  • Real-world malware analysis using Ghidra.
  • Practical reverse engineering skills through hands-on malware analysis.
  • Writing a 64-bit assembly program to display "Hello, world!" using a makefile.
  • Installing and setting up the SASM assembler for assembly programming.
  • Understanding the superiority of NASM (Netwide Assembler) and comparing it with other assemblers.
  • Creating a basic "Hello, world!" program in assembly without using a makefile.
  • Exploring the theory of disassembly and disassemblers in reverse engineering.
  • Analyzing the fundamentals of disassembly and its importance in reverse engineering.
  • Delving into various data types and their representation in assembly language.
  • Understanding CPU architectures, binary files, and their relationship.
  • Converting decimal numbers to binary using basic mathematical operations in assembly.
  • Initiating debugging with gdb (GNU Debugger) and configuring debugging flavors.
  • Debugging techniques for locating and inspecting variables in memory addresses.
  • Expanding knowledge of gdb functionalities for advanced debugging scenarios.
  • Writing a second 64-bit assembly program, creating the source code, and generating a makefile.
  • Analyzing program output using gdb and building a makefile for the assembly code.
  • Exploring binary analysis and comprehending the four stages of compilation.
  • Learning about preprocessing, compilation, assembly, and linking phases of program compilation.
  • Distinguishing between symbols, stripped, and non-stripped binaries.
  • Utilizing READELF to view symbolic information in binaries and object files.
  • Revealing the contents of an object file and attempting to analyze binary executables.
  • Understanding how binary files load and execute in theory.
  • Exploring the Executable and Linkable Format (ELF) used in Linux executables, focusing on the executable header.
  • Learning about ELF fields and ELF program header fields.
  • Understanding the fundamentals of Windows PE (Portable Executable) format used in Windows executables.
  • Mastering bitwise logical operations: OR, XOR, NOT, and AND.
  • Applying OR logic to manipulate data and perform bitwise operations.
  • Implementing NOT logic to invert bits in assembly programming.
  • Exploring XOR logic and its applications in data manipulation.
  • Understanding AND logic and how it's used for masking and bit filtering.
  • Utilizing the Data Display Debugger (DDD) to analyze assembly programs.
  • Developing assembly programs to analyze using DDD and understanding the debugging process.
  • Analyzing RAX register values using DDD and gdb.
  • Mastering control flow with jump and loop instructions in assembly.
  • Learning about common errors in assembly programming and their solutions.
  • Using conditional statements and jumps to control program flow.
  • Implementing jump instructions based on equality conditions.
  • Understanding jump instructions for inequality conditions.
  • Employing jump instructions for comparisons involving greater values.
  • Implementing jump instructions for greater-than-or-equal-to conditions.
  • Using jump instructions for comparisons involving lesser values.
  • Implementing jump instructions for less-than-or-equal-to conditions.
  • Developing an assembly project that utilizes jump and loop instructions effectively.
  • Creating a calculator project using assembly language to perform arithmetic operations.
  • Defining variables and memory allocation in assembly programming.
  • Implementing addition and subtraction operations in assembly language.
  • Adding final touches and decorations to assembly projects.
  • Explaining the practical usage of registers in assembly programming.
  • Completing the assembly projects with a focus on optimization and efficiency.
  • Utilizing memory manipulation techniques to interact with data structures.
  • Exploring a more advanced project called "EXABYTE" involving memory manipulation.
  • Testing and analyzing projects using tools like Readelf and GDB for verification and debugging.


Join WhatsApp/Telegram Channel for updates



Please note that many coupons are limited-time coupons. Please let us know if you find any expired coupon.