With the release of Windows Phone 7, Microsoft sought to improve the Windows phone experience by making it more finger friendly, and much easier to use than previous iterations. However, in the drive to simplify, Microsoft left out one important detail: backup. Take a quick spin through the Zune software, and you won't find this option anywhere when your phone is connected. Should a hard reset of your phone be necessary, the contents of your device's memory will be lost if you haven't taken manual methods to back up your pictures, documents, etc.
An industrious user, hx4700 Killer, on the XDA-Developers forums has written a tool in .Net which allows users to back up the contents of their phone's memory (including files placed via the mass-storage enabler).
Image Source: wmpoweruser.com
According to the aforementioned user,
"This APP is a wrapper around a tool microsoft produced to perform updates to your phone via command line. Specifically the executeable "updatewp.exe" that comes from the Windows Phone Support Tools. updatewp.exe is meant to update your phone with PKS files theoretically obtained from the device manufacturer. It will also do other things including a command line restore of a backup.
What happens is the phone performs the backup first, once it completes the process the code terminates updatewp.exe before it goes further. In theory if you are using an update not compatible for your phone it would actually just say that and quit. However terminating the updater keeps it from ever getting that far."
In a nutshell, this tool uses the above executable to back up your WP7 device, although it was originally intended to back the device up, and then perform a software upgrade. The tool uses launches updatewp.exe with the intent of updating the device using the update packages from an HTC HD2, triggering a backup of the device to a specified location, and then terminating updatewp.exe before the actual software upgrade takes place.
As to restoring your device, just go into the Zune software (with the phone plugged in), go to Settings, then to Device (or Phone), and click Update. Text at the bottom of the window should appear, indicating the path/file used to perform the restore. If you're ready to give the tool a try, head over to the XDA-Developers thread, and download the prerequisites. As always, carefully consider the pros/cons before using these custom tools, as they may render the device unusable.