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.
store text messages lying statically in the program or to receive dynamically messages from the user.
A computer program that transforms source code into the target language, often having a binary form known as object code.
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.
A multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines
Software development kit of the IDAPro software suite, allow to develop processor modules, loaders and various extensions.
the practice and study of techniques for secure communication and sending of data, and the construction and analysis of protocols that accomplish this.
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…
revert the process of compilation. Decompiler takes a binary program file as input and output the same program expressed in a structured higher-level language.
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…
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.
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…
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 …
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.
an industry standard defining the connectors, cables, and protocols used for communication and power supply between multiple devices.
an interactive disassembler similar to IDA, available for macOS, Windows and Linux
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.
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.
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…
the process of resolving at runtime a program's external function calls or dependencies. It happens at program startup or even while the program is running, as opposed to static li…
when asking *about* registers, their properties, existence, usage or limitations. Avoid using this tag just because registers are mentioned in the question.
Smallest sequence of instructions that can be managed independently by an operating system scheduler. Threads share all the same memory-space layout within the same process.
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,...).
An instance of a computer program being executed in memory. It contains the program code and its current activity inside the same memory context.
a method used for boundary scanning. Possibly applications are hardware testing/debugging and firmware flashing, including debricking of hardware which ende…
Any kind of communication between computers using a protocol and the infra-structure that allow this communication.
Software-based simulation or emulation of a hardware platform (CPU and hardware devices). Famous examples of virtual-machines are VMware, QEMU, VirtualBox, Microsoft Hyper-V, ...
Reverse-engineering focused on the detection, and possibly the exploitation, of security vulnerabilities in software and computer systems.
a dynamic binary instrumentation framework developed by Intel, which can hook and run arbitrary code into running processes, and is pluggable with user-written addons called Pintools. Pin targe…