Mastering Reverse Engineering & Malware Analysis | REMASM+

Currently reading:
 Mastering Reverse Engineering & Malware Analysis | REMASM+

carxproveteran

Member
Amateur
LV
9
Joined
Apr 7, 2023
Threads
8,401
Likes
776
Awards
13
Credits
3,935©
Cash
0$

1695324277297

Mastering Reverse Engineering & Malware Analysis | REMASM+​

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

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.


 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Tips

Similar threads

Top Bottom