Начнем пожалуй с определения "Дизассемблер". Дизассемблер - это по своей сути транслятор(так сказать переводчик), который переводит машинный код(на картинке) В код на языке ассемблера(Пример перевода на картинке). Для обычного юзера это может ничего и не значить, но знающий человек все же что-нибудь да поймет. Но мы не будем особо в это вникать, ведь ты читаешь эту статью, чтобы узнать зачем и где используют Дизассемблер ?) После компиляции программы, язык на котором она была написана преобразуется в машинный код, но в обратную сторону это уже не работает...