IMPORTANT:AttackDefense Labs is included with a Pentester Academy subscription! Upgrade Now to access over 1800+ Labs.

Already a Pentester Academy student? Your access will continue uninterrupted. Please use the same Google account to login here.

Not a Pentester Academy student? Try our Free Communitiy Labs

x86 Assembly Lab: CLI Access

pa-assembly-x86-video-labs | Level: Easy  | Total Lab Runs: 0 | Premium Lab

Lab Scoreboard

This exercise is a companion lab for the x86 Assembly Language and Shellcoding on Linux course on Pentester Academy.  This lab can be used along with the following videos from the course:

  1. Setting up the Lab
  2. Getting the CPU Info on Linux
  3. IA-32 Architecture Basics 
  4. IA-32 Architecture Exercise  
  5. CPU Modes and Memory
  6. Hello World in Assembly
  7. Hello World GDB Exercise
  8. Data Types 
  9. Moving Data 
  10. Understanding the Stack 
  11. Arithmetic Operations 
  12. Multiplication and Division
  13. Logical Instructions 
  14. Control InstructionsLoop Exercise 
  15. Procedures
  16. Saving CPU State 
  17. String in Assembly  
  18. Libc and NASM 
  19. Shellcode Basics
  20. Writing Exit Shellcode
  21. Hello World Shellcode using JMP-CALL-POP Technique
  22. Hello World Shellcode Stack Technique
  23. Execve JMP-CALL-POP
  24. Execve Shellcode Stack Technique
  25. XOR Encoder and Decoder
  26. Using Metasploit's Encoders 
  27. Simple NOT Encoder 
  28. Insertion Encoder 
  29. XOR Encoder Decoder using MMX Registers
  30. Polymorphism
  31. Analyzing 3rd Party Shellcode
  32. Analyzing Shellcode with Libemu
  33. Writing Custom Crypters

Important Note:

This lab allows the student privileged access so debugging tools can be run without problems. We are well aware of the security implications but have decided to provide this lab so our students can benefit. Any abuse of this lab will lead to a permanent ban from using our services.


  • msfpayload is replaced with msfvenom
  • Libemu directory is located in SLAE directory 

The following activities are strictly prohibited on this website unless otherwise explicitly stated as allowed in the mission statement:

  • Using automated scanners
  • Using brute force attacks
  • Denial of Service attacks
  • Attacking other student machines in challenges where you might achieve a shell on the vulnerable system
  • Attacking the lab infrastructure

Users violating the above will be either temporarily or permanently banned from the website. 

If you are unsure about an activity, then please contact support to confirm that it is allowed on our website.

Technical Support for this Lab:

There is a reason we provide unlimited lab time: you can take as much time as you need to solve a lab. However, we realize that sometimes hints might be necessary to keep you motivated!

We currently provide technical support limited to:

  • Giving hints for a lab exercise
  • In rare circumstances, if you have totally given up (NO!!!) then tell you how to solve it. This will be limited to sharing the solution video or lab report
  • A lab exercise fails to load or has errors in it

If you need technical support, please email  clearly mention the name and link of the lab exercise and other essential details. The more descriptive you are, the faster we can help you. We will get back to you within 24 hours or less. 

For adminitrative queries, billing, enterprise accounts etc. please email