多项选择题

A.壳主要是保护软件不被非法修改或反编译
B.壳一般先于程序运行
C.壳一般后于程序运行
D.壳在运行时先夺取程序的控制权
E.壳其实是一种对软件的加密