sergei. написал(а):а как в середине?
Чаше всего никак.
Сдвинешь код хоть на один байт и перестанет работать вообще.
Если слово длиннее оригинала, то только перенос на новый адрес (Где оно поместится).
И нельзя в притык лупить, надо чтоб между переведёнными фразами (или словами) оставалось минимум по два пустых (нулевых) байта.
P.S. В некоторых программах остаются пустые байты между секциями.
Это делается для выравнивания секций.
Но иногда такие куски используются для хранения некоторой информации
и запись в эти куски может вызвать не работоспособность программы, или перевод будет затёрт.
По этому лучше перевод переносить в самый конец файла (так удобнее и надёжнее).
P.P.S. Иногда остаётся место от не используемых функций.
Например сломали программу, а функция защиты осталась не у дел и никогда больше не будет использоваться
В этот отрезок кода тоже можно вписывать свои данные, но следить чтоб их размер не выходил за рамки размера функции.