I have added a lot of reports with an invalid data source login to an SSRS report sever and I wanted to update the User Name and Password with a script to update it so I don’t have to update each report individually.
However, from what I can tell the fields are store as Images and are encrypted. I can’t find anything out about how they are encrypted or how to update them. It appears that the User Name and password are stored in the dbo.DataSource tables. Any ideas? I want the script to run in SQL.
Example Login Info:

I would be very, very, VERY leery of hacking the Reporting Services tables. It may be that someone out there can offer a reliable way to do what you suggest, but it strikes me as a good way to clobber your entire installation.
My suggestion would be that you make use of the Reporting Services APIs and write a tiny app to do this for you. The APIs are very full-featured — pretty much anything you can do from the Report Manager website, you can do with the APIs — and fairly simple to use.
The following code does NOT do exactly what you want — it points the reports to a shared data source — but it should show you the basics of what you’d need to do.