после упаковки нужно заново посчитать контрольную сумму драйвера (в PE заголовке), иначе винда его не загрузит. главное, чтобы пакер это поддерживал.
Упаковщик ни к чему, шифрование(расшифрование) может быть выполнено самим драйвером. Посмотри код виря под названием SkyNet, поймешь как это сделать.