1. A method for wrapping a computer software application, the method comprising: unpackaging, by one or more processors, a computer software application into a plurality of components including a data file that includes a listing of any of the components; modifying, by one or more processors, the data file to include a reference to a library, wherein the library is configured to cause communications between the computer software application and a computer operating system to be intercepted and processed by instructions within the library when the computer software application is executed by a computer; and repackaging, by one or more processors, the computer software application to include the library and any of the components listed in the modified data file. wherein the step of modifying, by one or more processors, the data file to include a reference to the library further comprises modifying the data file to include any permissions required by the library.