本申请实施例公开了一种程序运行方法、程序加壳方法及设备,用于实现在不同的场景下对目标程序具有不同的运行权限的目的。所述方法包括:第一设备获取用户触发的运行第一程序的请求,根据所述请求获取第一程序和场景信息,所述第一程序包括第一程序头、第一壳程序和目标程序,所述场景信息包括系统信息、时间信息和所述目标程序的版本信息中的一项或多项;所述第一设备从所述第一程序头中获取所述第一壳程序的地址,并根据所述第一壳程序的地址运行所述第一壳程序,所述第一壳程序用于确定所述场景信息是否满足预设条件;当所述场景信息满足所述预设条件时,所述第一设备运行所述目标程序。