
Explore how a computer system works by examining input-output devices, memory, and the CPU, linked by busses, to understand assembly language.
Explore how 64-bit cpu registers store data, including general purpose registers such as RAX, RBX, RCX, RDX; RSI and RDI for source and destination; and RIP for the next instruction.
Learn the basic structure of a 64-bit assembly program by defining data and text sections, marking a start entry point, and compiling with yasm to produce an ELF 64-bit executable.
Explore how system calls drive programs across languages and how the write system call prints hello world, building a foundation for 64-bit assembly and shellcoding.
Learn to print hello world in assembly by finding the write system call number in unlisted_64.h, its input parameters, and storing them in rax, rdi, rsi, rdx, and r10.
Learn how to move data in 64-bit assembly using the move instruction, transferring constants into registers such as rax, rbx, and rcx, then exit with system call 60.
Move data from registers to memory in assembly using a Kali Linux example. Load 100 into rax, then store it into a memory variable with mov.
Move a value from rax to rbx in 64-bit assembly using the move instruction, demonstrated with a simple data_move.asm program.
Move byte-sized data into register subparts like al and ah using mov from the data section, illustrating byte transfers in 64-bit assembly.
Demonstrates adding two integers in 64-bit assembly using the add instruction, moving A and B into registers, and storing the result in the destination, then exiting.
Subtract integers in 64-bit assembly using the sub instruction, moving a and b into rax and rbx, computing 100 minus 10 to yield 90, and exiting with a system call.
Learn the two-step method to multiply integers in 64-bit assembly: move the first input to rax, the second to rbx, then multiply with imul to store the result in rax.
Learn to perform division of integers in 64-bit assembly by loading the dividend into rax, passing the divisor to idiv, with the quotient in rcs and the remainder in rdx.
Explore how eight-bit registers store positive and negative numbers, including overflow to -127 when 129 is moved, then extend to 16-, 32-, and 64-bit models with assembly mov examples.
Understand how the zero flag in an assembly program signals a zero result. See this with moving 12 into rx and rb and subtracting to trigger the flag.
Apply the or logical operation in assembly by loading two numbers into al and bl, executing the or instruction, and storing the result in al, illustrated with binary inputs.
Explore the xor operation in assembly programming, showing that equal inputs yield zero and different inputs yield one, with a simple 12 and 10 example in al and bl.
Explore how the loop instruction controls repeated execution in assembly programs, using a label and a loop counter in RCA/RK registers to decrement and branch back.
Learn to implement loop operations in an assembly program by setting the loop count in rcx, jumping to a loop label, and exiting with a 64 bit system call.
Learn how push and pop manage the 64-bit stack in assembly. See how push places data on the stack and pop transfers the top value to registers rax and rbx.
Learn to create a stack frame in a 64-bit assembly program by pushing the base pointer, moving rsp to rbp, subtracting eight bytes, storing data, and exiting.
Explore how to move an entire string in x86-64 assembly using the rep instruction with movs, including setting up RSI, RDI, and RC, and running the example in Kali Linux.
Explore how to compare two strings in assembly using repeat and compare string instructions with RSI and RDI pointers, the direction flag, and the zero flag to detect equality.
Learn how to load and store bytes from a source string to a destination memory location using loads and stores instructions with rsi, rdi, and rax registers.
Explore using loads and stores instructions to copy a source string into a destination in a 64-bit assembly program, with data setup and a byte-wise loop.
Unlock the Secrets of 64-Bit Assembly & Shellcoding for Ethical Hacking!
This offers an in-depth journey into the world of ethical hacking, focusing on 64-bit assembly language and advanced shellcoding techniques.
Explore the depths of cybersecurity with our course, '64-Bit Assembly & Shellcoding for Ethical Hackers.' Tailored for aspiring ethical hackers, this program delves into the intricate realms of 64-bit assembly language and advanced shellcoding techniques.
This comprehensive course guides participants through the fundamentals of assembly language, focusing specifically on 64-bit systems. By mastering these principles, students gain the expertise to manipulate and secure systems, identify vulnerabilities, and develop powerful exploits—all within an ethical framework.
Explore the intricate world of cybersecurity in this course, '64-Bit Assembly & Shellcoding for Ethical Hackers.' Designed for those eager to dive deep into low-level programming, this program focuses on mastering 64-bit assembly language and the art of shellcoding.
Learn the fundamentals of assembly language, understand 64-bit systems, and discover how to manipulate them for ethical hacking purposes. With practical exercises and simulations, you'll develop expertise in crafting powerful shellcode to identify vulnerabilities and fortify systems against potential threats.
This course equips you with the skills to create robust exploits and execute ethical hacking techniques responsibly. Gain a competitive edge in cybersecurity by mastering advanced shellcoding methods and understanding the intricacies of 64-bit assembly language. Join us and enhance your skills to become a proficient ethical hacker.