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.
Concealing the nature of how things truly function or work.
Techniques to remove obfuscation from a piece of program.
Files with machine code directly readable by the CPU or the interpreter. It encloses any executables, libraries, object code or memory dump of the analyzed software.
A disassembler is a software tool which transforms machine code into a human readable mnemonic representation called assembly language.
Analysis of a piece of code by letting it run (fully or step-by-step) on a real system or in a virtualized environment, as opposed to static analysis.
Any techniques or tricks used to prevent, mitigate or detect an attempt to run the software within a debugging environment.
A decompiler plugin for IDA, producing (pseudo-)C/C++ code, developed by the company of the same name (Hex-Rays).
Patching is the process of adding or deleting code from an executable file in order to modify its functioning.
A file that can be processed (executed) by the CPU of the machine through the operating system accordingly to the instructions that it contains.
Using techniques to change the behavior of an application or application component in order to use it to ones advantage. When used it is often referred to software exploitation where an attacker can t…
The operating system by apple for mobile devices
Refer to devices with scarcity of resources (energy, memory, cpu power, ...). It gather any consumer electronics (radio receivers, television sets, MP3 players, video recorders, DVD players, digital c…
The .NET framework is a software framework designed mainly for the Microsoft Windows operating system. It includes an implementation of the Base Class Library, Common Language Runtime (commonly referr…
Correspond to all the techniques used to intercept function calls and to attach a piece of code before or/and after the execution of the function itself.
Process of decoding a compressed file to get back to the original one. Some compression software may also include encryption or obfuscation in order to protect their format/algorithm.
A sequence of instructions performing a basic task packaged as a unit in a program.
Format in which is visualized the memory content or the variables while memory inspection. Hexadecimal (or 'hex') represents integers in base 16 (with digits taken within `0`-`9` and `a`-`f`).
Process of translating an unstructured assembler program into a structured high-level language program (e.g. translation from x86 to C).
A classical programming bug that may lead to a possible security flaw in software. Exploitation of this bug is usually taking place either in the stack or in the heap.
Android Application Package is the package file format used by the Android operating system for distribution and installation of mobile applications.
Understand software updates only-based on binary patches by reversing it and analyzing the differences between old and new version of the software.
A mapping of a given code to values or semantics. Guessing the meaning of an encoding requires a lot of trials but some encoding are standard and can be guessed quite easily.
Refer to any programs specifically designed to be a plugin of IDA Pro.
A multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines
Part of a process memory that stores all the automatic variables and the call-stack of the functions currently called by the process.
Process of sending data one bit at a time, sequentially, over a communication channel or computer bus. Most of the computer systems, and especially embedded systems, have such communication port.
RISC instruction set architecture (ISA). It is commonly used in embedded devices such as set top boxes and networking gear. Many university-level computer architecture classes use the MIPS ISA due to…
Cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.
Microsoft's application programming interfaces available in the Windows operating system.
Little Puzzle Applications for Reverse Code Engineers, with the goal to break a protection scheme legally for exercise. These often have a lot of built-in security to prevent attackers from succeeding…
Software used to 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 `shellcode` or `eggshell` is a small program represented as a string of instructions in their hexadecimal encoding.
DLL Injection is a method of code injection in a Microsoft Windows environment.