Реверсинг кода, патчинг кода без знания ассемблера невозможны.
Но польза от знания ассемблера не ограничивается лишь анализом и патчем чужих творений. На ассемблере можно писать свои собственные программы с минимальным набором зависимостей под разные архитектыры и различные операционные системы. Конечно ассемблеры охватывают все архитектуры и операционные системы, но каждый отдельный ассемблер расчитан на свою гроздь целевых архитектур и операционных систем, некоторые ассемблеры расчитаны и вовсе на одну единственную архитектуру и одну единственную операционную систему.
Каждый ассемблер по сравнению с языками высокого уровня сопровождается минимумом заголовочных файлов, достаточный для написания приложений, но реализующий минимум технологий. Поэтому написание больших проектов под ассемблером трудоемкая задача.
Но если какой либо ассемблер снабжен обилием заголовочных файлов реализующих различные технологии, если вы разбираетесь в этих технологиях, то скорость разработки программы под ассемблером ничуть не уступает скорости разработки под языками высокого уровня.
Современные ассемблерщики в меньшей степени творцы и в большей степени исследователи.
Изучение ассемблера чееловеку занимающемуся программированием надругом языке столь же полезно, как изучение математики певцом, или биологом. Т.е. в повседневной деятельности это не поможет никак, но научит думать. И если математика учит думать логически, ассемблер учит думать с осознанием того как процессор воспринимает код или данные.