reverse engineering (video games, hardware, malware)
reverse engineering is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accomplishes a task with very little (if any) insight into exactly how it does so
porting (video games, tools)
porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally designed for (e.g., different CPU, operating system, or third party library)
software development (video games, utilities, tools)
software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components
emulation (video games)
emulator is hardware or software that enables one computer system (called the host) to behave like another computer system (called the guest). an emulator typically enables the host system to run software or use peripheral devices designed for the guest system. emulation refers to the ability of a computer program in an electronic device to emulate (or imitate) another program or device.