Writing Security Tools and Exploits

Appendix D: Glossary

Appendix D: Glossary

A

API
An Application Programming Interface (API) is a program component that contains functionality that programmers can use in their own program.
Assembly
CodeAssembly code is a low-level programming language that performs the most basic operations. When assembly code is assembled, the result is machine code that is directly executed by a processor. Writing inline assembly routines in C/C++ code often produces a more efficient and faster application; however, the code is harder to maintain, less readable, and some- times substantially longer.

B

Big
Endian On a big-endian system, the most significant byte is stored first. Scalable Processor Architecture (SPARC) is an example of a big-endian architecture.
Buffer
Abuffer is an area of memory allocated with a fixed size. It is commonly used as a temporary holding zone when data is transferred between two devices that are not operating at the same speed or workload. Dynamic buffers are allocated on the heap using malloc. When defining static variables, the buffer is allocated on the stack.
Buffer Overflow
Ageneric buffer overflow occurs when a buffer has been allo- cated and more data than expected was copied into it. The two classes of overflows include heapand stackoverflows.
Bytecode
Bytecode is program code that is in between the high-level language code understood by humans and the machine code read by computers. Bytecode is useful as an intermediate step for languages such as Java, which are platform-independent. Bytecode interpreters for each system interpret byte- code faster than is possible...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Microprocessor and IC Programmers, Compilers, and Debuggers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.