Нет прекрасного и простого способа вырезать кусочки PE-файла.
Очевидное решение состоит в том, чтобы дополнительно определить поле length
в оригинальном (в ваших терминах first ) exe и пометить его другой меткой. Тогда дополнительной работой второго exe-файла будет запись в это поле фактической длины данных.
РЕДАКТИРОВАТЬ: Если резка является вашей основной целью, вы также должны иметь в виду, что:
- Контрольная сумма ЧП изменится. Расположение поля контрольной суммы в PE-заголовке найти несложно.
- PE-файл выровнен. Все разделы выровнены. Выравнивание также можно найти в заголовке.
- Если вы порежете одну секцию, это приведет к большим последствиям. Взгляните на структуру заголовка PE-файла.
Ссылка:
http://msdn.microsoft.com/en-us/library/ms809762.aspx