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.
Interactive Disassembler Professional (formerly IDA Pro), a proprietary multi-platform disassembler by Hex-Rays.
The translation of machine code into a human readable assembly code, also the result of such translation.
A family of very low-level programming languages, just above machine code, where each statement corresponds to a single machine code instruction.
Windows refers to the Microsoft Windows series of operating systems.
Process of analyzing live programs through software (e.g. ptrace) or hardware (e.g. JTAGs) devices.
The process of gathering information about a binary file, either with static or dynamic methods.
A family of instruction set architectures originally based on the Intel 8086 CPU that functions with a very wide array of operating systems, including Windows, MacOS X, Linux, BSD, and Solaris.
Process of translating assembly code extracted from a binary file in a structured programming language, such as C.
A very popular Windows 32bits debugger written by Oleh Yuschuk. It is free and lightweight and yet powerful and extendable through plugins.
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is considered an intermediate level language.
Combination of executable code and data used to drive hardware devices and provide a first layer of software services prior to the operating system. Typical examples are BIOS, UEFI, the software runni…
Android is Google's Linux-based operating system for mobile devices. Initially developed by Android, Inc., Android is the world's most widely used smartphone platform.
when asking questions related specifically to the NSA's Ghidra reverse engineering tool.
A Python API to develop IDA Pro plugins which comes bundled with the paid versions of IDA. It allows automation of tasks and even writing loaders and plugins in Python themselves.
Opensource reverse engineering framework to disassemble, debug, analyze, manipulate binary files and more.
General purpose programming language that uses the procedural and structured programming paradigm.
A family of instruction set architectures based on a RISC architecture developed by British company ARM Holdings. Heavily used in embedded devices such as mobile phones, tablets, set-top boxes, ...
A free and open source POSIX compatible operating system with a monolithic kernel and a kernel module system. Originally created by Linus Torvalds.
Malware, a portmanteau for malicious software, is software used or created by attackers to disrupt computer operation, gather sensitive information, or gain access to computer systems.
A source level debugger based on `ptrace` for *NIX systems and developed by the GNU project.
a file format for Windows executables, object code, DLLs, and more. Commonly found extensions of PE files include .exe, .dll, .ocx, .sys, and .scr.
the Executable and Linkable Format is the main executable and object format for Linux, Solaris, *BSD, and many other OSes...
File format refers to the way information and data is encoded and stored in a computer file.
Part of the computer used to store data and code. Can refer to questions about, both, live memory investigation and ROM investigation.
Static analysis is the analysis code without actually executing it. This is in contrast to dynamic analysis which executes the code.
General-purpose and high-level programming language. Python supports multiple programming paradigms, including object-oriented, imperative and functional programming styles.
Process of decoding an encrypted message with an authorized access (knowledge of the protocol, the encryption algorithm and the key).
An open-source x64/x32 debugger for windows with UI inspired by OllyDbg.
Dynamic-link library, or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems.
Debuggers allow the user to view and change the running state of a program.
Any physical device analyzed for reverse engineering purpose. This tag is used to denote that the question is about hardware reverse engineering and not (only) about software reverse engineering.
Process of encoding information such that decoding requires the knowledge of some secret (a key). This tag covers questions about obfuscated and encrypted programs, or tools, but higher level question…
A graphical stand-alone multipurpose debugger for Microsoft Windows, distributed on the web by Microsoft.
for questions regarding recommendations of frameworks, libraries, programs or hardware tools used during the process of reverse engineering. Please avoid using this tag for tool-specific …
Reverting (statically or dynamically) the effect of a binary packer: recovering its original structure and code by removing compression, encryption, protections features..
Java is an object-oriented language and runtime environment (JRE). Java programs are platform independent, because they are compiled to bytecode and their execution is handled by a Virtual Machine cal…