A tag is a keyword or label that categorizes your question with other, similar questions. Using the right tags makes it easier for others to find and answer your question.
A `shellcode` or `eggshell` is a small program represented as a string of instructions in their hexadecimal encoding.
A dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
A chain of characters, usually used to store text messages lying statically in the program or to receive dynamically messages from the user.
DLL Injection is a method of code injection in a Microsoft Windows environment.
A system of rules designed to allow the communication between two or more participants. The two main types of protocols are either stateless protocols (UDP) or stateful protocols (TCP).
Software development kit of the IDAPro software suite, allow to develop processor modules, loaders and various extensions.
Refer to the hexadecimal format which is directly executed by the CPU or the interpreter. Opposed to the human-readable format which can be understood by the reverse without any intermediate translati…
An OllyDbg 1.1 derivative made by Immunity Inc., that internally supports python scripting and shipped with many scripts to ease vulnerability and exploitation research.
A specific C language data-type construct which allow to declare a list of primitive types variables bound together in a single logical memory unit.
Any kind of communication between computers using a protocol and the infra-structure that allow this communication.
QEMU is a software that performs CPU emulation through dynamic binary translation. It allows the execution of applications compiled for a certain specific architecture to run on other architectures.
when asking *about* registers, their properties, existence, usage or limitations. Avoid using this tag just because registers are mentioned in the question.
A computer program that transforms source code into the target language, often having a binary form known as object code.
Refer to a section of executable, library or object files that link memory addresses in the program and a string (the symbol). Symbols are used to store debug information, function names (for dynamic …
An Unix-based operating system originally forked from NextSTEP and developed by Apple Inc. MacOS X runs a Darwin kernel together with Apple Inc. utilities.
USB (Universal Serial Bus) is an industry standard defining the connectors, cables, and protocols used for communication and power supply between multiple devices.
A well known disassembler from the GNU `binutils` package. Only based on the linear sweep techniques and a few more heuristics when symbols can help.
Mostly used for explaining core components of an operating system.
Assembler-like language destined to be executed in an interpreter, in a virtual machine or by just in time compilation. Java, Python and many other high-level languages are using bytecode languages.
Kernel-mode executables used to communicate between the OS and peripherals.
GNU Compiler Collection, it includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...).
Process of copying the content of a block of a program's memory to file. It can be not trivial if the target program hooked memory-related APIs.
A chain of software made to build self-extractable archived software (with a focus on compression and/or on obfuscation). Packer prevent most of the static analysis techniques and force the reverser t…
the practice and study of techniques for secure communication and sending of data, and the construction and analysis of protocols that accomplish this.
when referring to a true .EXE file as opposed to a .COM or .MSI or any other executable.
Disc Operating System, started as 16-bit OS for PC-AT/XT x86++ platforms
An surjective function that maps a set of keys to a smaller data sets of a fixed length. Cryptographic hash-function are supposed to be practically impossible to reverse except by brute-force.
the Mach object file format is the standard executable format in iOS, Mac OS X, NeXTSTEP.
Instrumentation is the process of injecting probe functions into a code (executable, source code, ...) for measurement purposes. It is extensively used for *profiling* or *dynamic-analysis* by tools l…
Digital forensics (sometimes known as digital forensic science) is a branch of forensic science encompassing the recovery and investigation of material found in digital devices, often in relation to c…