Categorized by type:


virtualization = Virtual machines and containers.


bruteforce = Define a feasible search space and a boolean-based test, then guess an expected value. If data can be divided, performance is improved by multithreading.

constraint solving = Modelling our problem domain as satisfiable constraints on symbolic variables.

dynamic instrumentation = Modify an executable's behaviour by injecting instructions at runtime.

lookup magic = Identify file formats by signatures, algorithms by constants, containers by file sizes in metadata...

symbolic execution = Transform executable state into symbolic variables, obtaining concrete values via constraint solving.

visualization = Apply data visualizations to make certain patterns explicit.