Формат, используемый Windows, - это формат Microsoft Portable Executable.Чтобы узнать больше, вы можете прочитать спецификацию файла.
Итак, мой вопрос, как исполняемые файлы "соединяются".Что случилось с бесконечными символами NULL.Кроме того, почему, когда вы редактируете шестнадцатеричный код файла и ДОБАВЛЯЕТЕ байт, данные «повреждены», но когда вы просто ИЗМЕНИТЕ байт, это нормально.
Переносимые исполняемые файлы следуютопределенный стандарт.Вы не можете просто изменить байты, потому что вы заставите файл нарушать стандарт.
Следовательно, добавление байтов в произвольных местах может повредить формат.Например, PE файлы состоят из разделов.Эти разделы имеют определенный размер, который определяется в заголовках разделов.Сам заголовок раздела имеет определенный размер с конкретными полями с определенными смещениями.Предположим, что вы просто добавляете байт к разделу или заголовку раздела, вы, вероятно, повреждаете файл, перемещая поля в смещения, которых они не ожидают, или создавая таким образом, чтобы раздел не соответствовал размеру, в котором он был первоначально определен.
Изменение байта где-то изменит значение.Даже тогда вы можете все испортить.Если вы имеете в виду конкретную цель, вам следует указать ее, и мы, возможно, сможем указать вам лучшее направление для ее достижения.