I am trying to update/modify/reverse engineer the software for a robot I have. The company went out of business and some friends and I are trying to add features to the program.

I use RedGate's .NET Reflector to unpack the DLL and EXE files into VS solutions, projects, and code files. The problem is that each DLL/EXE (and there are at least a dozen) all have dozens of resources stored in them. Mostly they are BAML files, which can be converted to XAML files, but there are also PNG, font files, .HEX files used to the robots themselves, etc. All those resources are stored in a .resources file. I can save them one at a time using Reflector, but that is VERY time consuming with the number of files involved. I'm hoping to whip up a quick C# app to do it for me.

I can read thru the list of what is stored in the file with the ResourceReader class. I can even get the data associated with it. But if I just write the data to a file, it says it's invalid. If I try to create an image from the data, it throws an exception. The resources are stored as MemoryStreams. I have tried reading them as such then giving them to Bitmap constructors, but same exceptions.

Anyone have any ideas?