Windows Application Programming Interface

The Windows application programming interface (API) is the user-mode system programminginterface to the Windows operating system family. Prior to the introduction of 64-bit versions ofWindows, the programming interface to the 32-bit versions of the Windows operating systems wascalled the Win32 API to distinguish it from the original 16-bit Windows API, which was the program-ming interface …

software interrupt –

WinDbg shows “int” Instruction ntdll!DbgBreakPoint: 7c901230 cc int 3 7c901231 c3 ret 7c901232 8bff mov edi,edi ntdll!DbgUserBreakPoint: 7c901234 90 nop 7c901235 90 nop 7c901236 90 nop 7c901237 90 nop ntdll!DbgBreakPointWithStatus: 7c901238 90 nop ntdll!DbgUserBreakPoint: 7c901239 cc int 3 7c90123a c3 ret 7c90123b 90 nop 7c90123c 8bff mov edi,edi 7c901230 cc int 3 Process Involved WinRAR …

LEAVE Instruction ++

WinDbg shows “leave” instruction 7c901227 c9 leave 7c901228 c20400 ret 4 7c90122b 90 nop 7c90122c 90 nop 7c90122d 90 nop 7c90122e 90 nop 7c90122f 90 nop ntdll!DbgBreakPoint: 7c901230 cc int 3 7c901227 c9 leave Process Involved Program : “notepad” on Windows. Explanation LEAVE — High Level Procedure Exit LEAVE reverses the actions of the ENTER …

modify all segment registers except ..(CS)

software | Windows | In computing, a code segment, also known as a text segment or simply as text, is a phrase used to refer to a portion of memory or of an object file that contains executable instructions. source : http://en.wikipedia.org/wiki/Code_segment Note that code may always modify all segment registers except CS (the code …

eip in 32-bit mode,, and rip in 64-bit mode

software | Windows | The instruction pointer is called ip in 16-bit mode, eip in 32-bit mode,, and rip in 64-bit mode. The instruction pointer register points to the memory address which the processor will next attempt to execute; it cannot be directly accessed in 16-bit or 32-bit mode, but a sequence like the following …

The Intel IA32 processors have a base pointer..

software | Windows | The Intel IA32 processors have a base pointer register called EBP . The EBP register is typically set to the value of the ESP register at the beginning of a procedure, and used to address the procedure arguments and locally allocated variables throughout the procedure. Thus, the arguments are located at …