Ok i'll give you a hint. In order to replace the current background you need to create an encripted one, matching the same encription I used, which is based on random seeds, distribute it across the exe in several areas (it's not embedded as a resource), and have the checksum of various parts of it match certain values that affect the final rom size and trimming process. No background = wrong trimming.
Nice, now you admit you took all this effort just to keep your background picture from being altered, instead of putting that time into making a skinning engine or an easy to make option to show or hide the background.
Smart move.
Yep, although I have no need to explain what I spend my time on or what I put effort into, to anyone.
At first I didn't care much about the background tbh, but seeing how people changed it I got some motivation to try and see if I could make it really hard/impossible to replace; as for people using other backgrounds I don't really care, but achieving this protection was a goal.
Part of this also works for the embedded DLLs, the libraries to extract unrar and 7z archives (not made by me). Other trimmers include them in the zip and stay in the same application folder. That can lead to people downloading fake libraries which are actually virus, so I thought embedding them in the exe and loading them straight into memory would be nice, and also convenient when taking the trimmer around, as you only need the single exe.
This technique for loading the DLLs into memory without previously extracting to disk seems to crash the app in Vista 64 though, so I might need to change that for a 64-bit Vista release. (the linked test doesn't have rar/7z support, only zip, for which I didn't require a DLL).