For profession reverse engineering is ‘must have’ knowledge an assembly language. Knowledge of assembly language allows manipulating a running program and performing dynamic/static analysis.