Изначально программа хранится на диске, на винде в формате PE (.dll/.exe/.sys), на линуксе elf (.so, .out).
Затем ты запускаешь программу и загрузчик образов располагает файл в памяти процесса (или создает новый) и начинает исполнять код внутри начиная с точки входа, при этом может происходить куча операций которые изменят образ и он будет совсем не похожим на то что было на диске.
Простой пример протекторы, они упаковывают файл, так что на диске он в зашифрованном и/или сжатом виде, после запуска он расшифрует и разожмет себя (это необходимо чтобы он мог вообще исполниться).
Поэтому например чтобы не разбираться как получить готовый к изучению образу можно просто запустить программу и сдампить ее, дамп как раз просто содержит всю память на момент снятия.
Конечно файл будет не рабочим, т.е. запустить его снова не выйдет, т.к. там нужно фиксить импорты и т.п., но для изучения пойдет, а если доисправить то можно назвать это распаковкой.