Malware Analysis & Reverse Engineering

Dissect malicious software to understand its behavior, origin, and purpose. Learn static and dynamic analysis techniques to combat viruses, worms, and ransomware.

64 courses

C Programming for Security Analysis and Systems Defense

Learn how security researchers analyze software behavior and build defensive tools using C programming.
★ 4.5 (1,513)

SystemVerilog Essentials for Hardware Verification

Master the fundamentals of SystemVerilog for hardware verification, building a strong foundation in testbench design, OOP principles, and constrained random testing.
★ 4.5 (4,098)

Practical Reverse Engineering and Binary Analysis

Master the fundamentals of software disassembly and debugging to uncover how applications work under the hood.
★ 4.7 (150)

Malware Analysis Fundamentals with Assembly

Develop the skills to dissect malicious software and interpret assembly code to identify system threats and security vulnerabilities through comprehensive written instruction.
★ 4.5 (86)

Windows Reverse Engineering and Lena Challenge Solutions

Master Windows debugging and assembly analysis by working through the classic Lena reversing challenges in a structured, beginner-friendly format.
★ 4.7 (17)

Operating Systems Foundations: Process Abstraction and Machine State

Discover how operating systems manage hardware, execute programs, and isolate processes through clear written explanations of machine state and core OS mechanisms.

Securing Windows Devices with BitLocker Disk Encryption

Learn to configure BitLocker full disk encryption to protect sensitive data from physical theft and unauthorized access on Windows systems.

WebAssembly Fundamentals: Stack Machine and Opcode Exercises

Learn to read and write low-level WebAssembly Text Format (WAT), understanding stack-based execution and essential arithmetic opcodes for high-performance applications.

How Computers Run Software: From Machine Code to High-Level Languages

Demystify how computer software works under the hood, from binary instructions to modern high-level code, designed specifically for aspiring developers.

Memory Management Basics: Segmentation and Address Translation

Learn how operating systems manage memory through segmentation, map virtual to physical addresses, and detect protection faults through clear, text-based walkthroughs.

System Byte Order and Endianness Detection in C and C++

Learn how to programmatically identify big-endian and little-endian systems using pointer manipulation and modern language features to write portable low-level code.

Trace Analysis: Deciphering Complex and Corrupt Log Patterns

Learn to diagnose software issues by identifying corrupt, defamiliarizing, dialogue, and diegetic patterns in system logs and execution traces.

Software Trace Analysis: Decoding Hidden Patterns and Log Data

Learn to read between the lines of software logs by mastering trace constants, vocabulary indexing, and techniques to uncover hidden diagnostic facts.

How Computers Work: Binary, Machine Code, and Memory Execution

Demystify how software interacts with hardware by mastering binary, hexadecimal, CPU registers, and the mechanics of program execution in system memory.

Left Shift Operator Fundamentals for Coding Interviews

Learn how left shift operations manipulate binary data and optimize mathematical computations to solve common algorithmic coding interview challenges.

Solving the IP Address Restoration Problem with Backtracking

Learn how to parse digit strings into valid IP addresses using recursion, backtracking, and modern algorithmic optimization techniques.

Decoding Algorithms in C# for Coding Interviews

Master essential bitwise operators, mathematical division rules, and recursive logic in C# to solve complex message-decoding challenges in technical interviews.

Memory Management Fundamentals: Dirty Pages and Page Replacement

Learn how operating systems optimize memory performance using the modified bit to manage page eviction and writeback processes efficiently.

Reversing and Parsing Command Logs in Go

Learn to parse, clean, and reverse command sequences in Golang using efficient slice manipulation and string processing techniques.

Analyzing Software Trace Patterns: Reversal, Selectors, and Missing Data

Learn to diagnose complex system behavior by mastering essential trace patterns, from data reversal and selectors to missing and random log entries.
Showing 20 of 64 courses