Category
page 1Reverse engineering
reverse engineering
process by which a man-made object is deconstructed to reveal its designs, architecture, code or to extract knowledge from the object
decompiler
A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate executables into assembly language, decompilers go a step further by reconstructing the disassembly into higher-level languages like C. Due to the one-way nature of the compilation process, decompilers usually cannot perfectly recreate the original source code. They often produce obfuscated and less readable code.
disassembler
A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. The output of disassembly is typically formatted for human-readability rather than for input to an assembler, making disassemblers primarily a reverse-engineering tool. Common uses include analyzing the output of high-level programming language compilers and their optimizations, recovering source code when the original is lost, performing malware analysis, modifying software (such as binary patching), and software cracking.
clean-room design
copying a design by reverse engineering and then recreating it without infringing any of the copyrights associated with the original design
Chinese wall
business term describing an information barrier
Round-trip engineering
software engineering concept
Crackme
A crackme is a small computer program designed to test a programmer's reverse engineering skills. Crackmes are made as a legal way to crack software, since no intellectual property is being infringed.
industrial computed tomography scanning
computer-aided tomographic process
Sega v. Accolade
1992 American court case