El virus se añade al final de la ultima sección del ejecutable, (.text).
Normalmente, la sección .text es la primera sección luego del PE Header, no la ultima.
Fijate en la siguiente captura de CFF explorer sobre calc.exe de un XP SP3:
La sección .text es la primera despues del header. En el archivo, está en el offset 0x400 (Raw Address) y tiene un size de 0x12800.
Si tu virus se inserta al final, deberás asegurarte de que no sobreescriba nada. Ahora, si quieres hacer mas grande la sección .text, ahi hay otro problema pues deberas agrandar la sección, escribirla con los datos actualizados, correr todas las otras secciones, y corregir todo los demás campos que están relacionados a un offset específico. Esto ultimo es muy complejo, por lo que se opta por agregar una nueva sección o buscar algun codecave para insertar tu virus.
En google hay muchos samples sobre inline-patching. Y sobre virus, el mejor lugar es este.
La próxima vez tendré más cuidado antes de preguntar.
Si, ya veo...
Saludos!