The VM (Virtual effective solution to protect software, making it extremely a Machine)-based software protection technique provides difficulty to analyze and crack. In this paper, we improve it from two aspects. Firstly, the time diversity is to fight against cumulative attack by making software executing along variant paths in different running time. Secondly, transform instructions in an execution path with reducing performance penalty through controlling deformation strategy. At last, we design and develop a VM-based protection with time diversity system, named TDVMP, and carry out some experiments with it. The results show that the improvements are effective.