Assembly

Assembly – Loops and Conditionals

Course notes from Vivek Ramachandran’s online class “x86/64 Assembly and Shellcoding on Linux“ Loops In Assembly there is a keyword command called “loops,” which iterates over a function/block, decrementing a counter each time and this repeats until the counter reaches 0. It is important to remember that the counter is stored in ECX/RCX – this is where the loop ... »

Assembly – Relating to the Stack

Course notes from Vivek Ramachandran’s online class “x86/64 Assembly and Shellcoding on Linux“ The stack can be visualized as a stack of memory objects.  As things are added to the stack, they are added in last, and when they are removed the last item in the stack is removed first.  In other words a stack is based on Last In First Out. RSP is a pointer that points to the top of t... »

Assembly – Data Segment

While going through Vivek Ramachandran’s course on 64bit Assembly Language on Linux, I came across a lecture of his where he introduces an ASM keyword called “ds.”  Here’s his example: The highlighted line in the gdb (GNU Debugger) screenshot above references this command: mov rsi, QWORD PTR ds:0x60017c This threw me because I didn’t know what it was saying.  After so... »

Assembly – Moving Data

Course notes from Vivek Ramachandran’s online class “x86/64 Assembly and Shellcoding on Linux“ Common Data Moving Instructions MOV The mov keyword in Assembly allows for moving data within the Assembly protocol.  This command can be used to mov data: Between registers From Memory to a register and vice versa Data to register Data to memory LEA (Load Effective Address) This loads ... »

Assembly – Data Types

Course notes from Vivek Ramachandran’s online class “x86/64 Assembly and Shellcoding on Linux“ Byte = 8 bits Word = 16 bits Double Word = 32 bits Quad Word = 64 bits Double Quad Word = 128 bits »

Assembly – Writing Hello World

Course notes from Vivek Ramachandran’s online class “x86/64 Assembly and Shellcoding on Linux“ This is a simple hello world application, written in assembly.  When run, it will output to the screen the words “Hello World.”  Below, I will go through the phases of how I constructed it, based on the course material linked at the top of this post. Phase I: Sections When s... »

Page 1 of 212