Files
securedorg.github.io/fundamentals3.md
Amanda Rousseau fdbc221011 updating opcodes
2017-03-13 20:11:19 -07:00

1.3 KiB

layout, permalink, title
layout permalink title
default /RE101/section1.3/ Fundamentals

Go Back to Reverse Engineering Malware 101

Section 1.3: Fundamentals

x86 Assembly

The C programming is a high level language interpreted by the compiler that converts code into machine instructions called assembly language. By using a disassembler tool we can get the assembly language of a compiled C program.

Opcodes and Instructions

Each Instruction represents opcodes (hex code) that tell the machine what to do next.

Three categories of instructions:

  • data movement
  • arithmetic/logic
  • control-flow.

Common Instructions

  • push, pop, call, leave, enter, ret
  • mov
  • lea
  • add,sub
  • jmp,jne,jnz,jnb
  • or, and, xor
  • shr,shl
  • ror,rol

Use the search page below or open the Search Instructions page to search for functions discussed above

Registers

A Function and Calling a Function

Arguments

Local Variables

The Stack

Anatomy of PE <- Back | Next -> Section 2