Skip to content

Instantly share code, notes, and snippets.

@DigbijayNayak
Created August 6, 2025 04:32
Show Gist options
  • Select an option

  • Save DigbijayNayak/565776c6e8e4d302fb644e5b17272a30 to your computer and use it in GitHub Desktop.

Select an option

Save DigbijayNayak/565776c6e8e4d302fb644e5b17272a30 to your computer and use it in GitHub Desktop.
A collection of resources and a learning path for malware development, reverse engineering, and low-level system concepts. Useful for building tools, analyzing malware, or understanding how systems work under the hood.

Understand how computers and systems operate at a fundamental level.

  • How computers work

  • Numeric systems (binary, hex, decimal)

  • How memory and CPU work

  • High-level understanding of machine code

Low-Level Concepts

Build core knowledge around system internals, cryptography, and debugging.

  • Obfuscation, encryption, decryption, and common algorithms
  • Learn to use debuggers (e.g., x64dbg)

Windows Internals

Deep dive into how the Windows OS works under the hood.

Learn C (or C++, I personally prefer C)

Understanding C is essential for anyone serious about malware development, reverse engineering, or low-level systems work. C is close to the metal, giving you control over memory, system calls, and how programs interact with the OS - exactly what you need to build or dissect offensive tools.

“I personally prefer C because it maps directly to how machines work. It’s foundational in both malware development and reverse engineering. C helps you understand how exploits happen, how processes are structured, and how the Windows API is used under the hood.”

You don’t need to buy expensive courses to get started. I learned C using Codecademy because of how interactive and beginner-friendly it is. If you want a completely free alternative, learn-c.org is a great browser-based site with hands-on examples.

First project

Try to replicate a malware behavior.

  • What is being performed?
  • How is it being performed?
  • Are there alternative techniques?
  • Can we replicate the API usage?

Malware Resources

Trusted tools, references, and learning hubs in malware

Reverse Engineering and Pwn Resources

Foundational Learning

  • OpenSecurityTraining2 – x86_64 Assembly -> Industry-standard course for understanding assembly, memory models, and the architecture behind reverse engineering.

  • Z0F Reverse Engineering Course -> A Windows-focused RE course using tools like x64dbg, PE-bear, and Ghidra. Includes crackmes and walkthroughs.

  • Nightmare -> Linux-focused binary exploitation tutorial series focused on memory bugs and control flow.

  • pwn.college -> Hands-on platform for learning memory corruption, shellcoding, and RE fundamentals.

Applied Reverse Engineering

Advanced / Kernel Exploitation

Hands-On Practice

Challenge-based platforms and exercises to reinforce your skills.

Miscellaneous

Contributors

Thanks to the following people:

  • @Lattice23 -> Helped with resources and structure

Why include Reverse Engineering in a Malware Dev collection?

Reverse engineering is essential if you want to build effective, undetectable malware.

As a developer, you’re not just writing code, you’re trying to understand how defenders will analyze and detect your tools. Reverse engineering gives you insight into how detection works and how to subvert it.

It helps you:

  • Recognize what patterns and behaviors AV/EDR solutions flag
  • Modify shellcode, payloads, and loaders at the byte level
  • Debug and fix your tools when something silently fails in memory
  • Understand the entire kill chain from both red and blue perspectives

Example from the Field:

In one public lab write-up, a researcher successfully evaded a modern EDR by:

  • Using ThreatCheck and Ghidra to identify flagged byte patterns in a payload
  • Modifying a XOR shellcode decryption routine to alter memory artifacts
  • Customizing the C2 profile to strip suspicious strings
  • Building a C++ loader to bypass sandbox and static detection

These types of evasion techniques rely heavily on reverse engineering skills, knowing how your code looks under the hood, how defenders analyze it, and how to break that process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment