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.
As assembler languages have no built-in primitives to handle arguments passing while starting a procedure, most of assembler programs and compiler do agree on calling conventions to describe how to em…
a method used for boundary scanning. Possibly applications are hardware testing/debugging and firmware flashing, including debricking of hardware which ende…
Reverse-engineering focused on the detection, and possibly the exploitation, of security vulnerabilities in software and computer systems.
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…
`Application Programming Interface` defines an interface that controls the interactions between a module and its users.
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.
Disc Operating System, started as 16-bit OS for PC-AT/XT x86++ platforms
the standard executable format in iOS, Mac OS X, NeXTSTEP.
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.
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…
special computer programs made as a collection of functions which are meant to be called as external resources by multiple programs.
Managing the risks over information and hardware to prevent unintended or unauthorized access, change or destruction of data or disruption of service.
the art of understanding the properties of an unknown binary stream of data without any additional information. Usually done as a last resort due to lack of related code to reverse…
when referring to a true .EXE file as opposed to a .COM or .MSI or any other executable.
A dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
variables declared on the stack. They are usually local to the block they were declared in.
the debugger of the LLVM compiler infrastructure project.
Software managing the hardware part of the computer and providing an API for user-space software to access various services provided by hardware devices.
A software testing technique that involves providing invalid, unexpected, or random data to the inputs of a computer system, then monitoring for exceptions, failed assertions, or memory leaks.
the process of assembling a set of instructions obtained through *disassembly* and which were certainly patched or modified.
Represent all the active functions in the program at a precise moment. It is composed of a chain of functions where each function has a caller (parent) and a callee (descendant), except for the `main`…
a Python binary analysis framework developed by the Computer Security Lab at UC Santa Barbara and their associated CTF team, Shellphish. project URL: https://github.com/angr/angr
A formatted unit of data carried by a network. This is the smallest unit of data that you can capture on packet-switched networks.