Skip to content

This Repository contains notes and code of my learning 32-bit assembly and shellcoding.

Notifications You must be signed in to change notification settings

gr33nm0nk2802/x86-64-assembly-shellcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

x86-64-assembly-shellcode

This Repository contains notes and code of my learning 32-bit assembly and shellcoding.

Author: d4rk-c1ph3r

I have taken SLAE32 as a reference for various topics.

Topics:


  • Computer Architecture Basics
  • IA-32/64 Family
  • Compilers, Assemblers and Linkers
  • CPU Modes and Memory Addressing
  • Tools of the trade
    • Nasm, Ld, Objdump, Ndisasm etc.
  • IA-32 Assembly Language
    • Registers and Flags
    • Program Structure for use with nasm
    • Data Types
    • Data Movement Instructions
    • Arithmetic instructions
    • Reading and Writing from memory
    • Conditional instructions
    • Strings and Loops
    • Interrupts, Traps and Exceptions
    • Procedures, Prologues and Epilogues
    • Syscall structure and ABI for Linux
    • Calling standard library functions
    • FPU instructions
    • MMX, SSE, SSE2 etc. instruction sets
  • Shellcoding on Linux
    • Execution environment
    • Exit and Execve shellcode
    • Bind Shell and Reverse TCP
    • Staged Shellcode
    • Egg Hunter
    • Using 3rd party shellcode
    • Simulating shellcode
    • locating syscalls
    • graphing shellcode execution
  • Encoders, Decoders and Crypters on Linux
    • Purpose of encoding and crypting
    • XOR encoders
    • Custom encoding
    • Random sequencing and scrambling
    • mapping functions
    • Crypters
  • Polymorphism
    • Why polymorphism?
    • Polymorphic engines
    • Techniques and Tools

About

This Repository contains notes and code of my learning 32-bit assembly and shellcoding.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published