I got a PM from Tayyo asking what do to next, but I figured I would post the reply in here instead of in a PM in case it's useful to someone else too.
There are many places in the code where you could add the call to DecompressBlobToFile. I'm going to suggest one place that I think provides a good balance of being easy to add to the code (even if you don't know any C++) and not being too obnoxious to use. (A proper solution would require more code but would be a lot more user-friendly.)
Open the file Source/Core/DolphinWX/GameListCtrl.cpp and search for this line: all_good &= DiscIO::DecompressBlobToFile(iso->GetFileName().c_str(), OutputFileName.c_str(),
Replace iso->GetFileName().c_str() with the path to a GCZ file that you want to decompress. The path must be in quotes. You should use / instead of \ in the path, because otherwise you will have to escape every \. So for instance, it might look like this: all_good &= DiscIO::DecompressBlobToFile("C:/Users/your name/Desktop/example.gcz", OutputFileName.c_str(),
Now, when you want to decompress a GCZ file, put any valid GCZ file in the game list, right-click on it, and press the option for decompressing it. Dolphin will decompress the file that you've entered the path for rather than the file that you actually selected in the game list. You will have to rebuild Dolphin if you want to change the path that's used, so if you want to decompress multiple files, I suggest renaming/moving files one by one to match the path that you entered.
As for the bytes that you'll need to hex edit in afterwards... The first six are the game ID, which you can find on e.g. gametdb.com. The first four bytes of the game ID are also visible on the game box and the inner edge of the game disc. 0x6 is 1 if this is the second disc of a 2-disc game, and 0 otherwise. 0x7 is the revision, which is hard to know accurately without having the correct header from a dump. (It might be visible on the inner edge of the game disc, though...? Either way, this is often 0, so 0 is a good guess if you don't know.) 0x8 and 0x9 are 0 if your game is not on
this list. If the game is on that list, 0x8 is 1, but I'm less sure what 0x9 is supposed to be. 0x1C-0x1F must be 0xC2339F3D for GameCube games, and 0x18-0x1B must be 0x5D1C9EA3 for Wii games. All other bytes of the 0x20 bytes (32 bytes in decimal) that you need to add are supposed to be 0.