想自己编写病毒,应具备什么基础