disassembler
noun
°(computing) A computer program that examines another computer program and attempts to generate assembly language source code that would, in theory, reproduce the target program.