1. A system for storing a target file and protecting the target file from data damage comprising: a) a processor configured to retrieve and execute program code of a wrapper application, the program code including: i) code for intercepting at least one file command issued by another application, said at least one file command being operative to affect the target file, and said wrapper application being independent of said other application; ii) code for saving update information pertaining to said at least one file command, and iii) code for updating the target file according to said update information; b) a first memory space for storing the target file, and c) a second memory space for storing said update information.