Surface Shield is my go to but it's basically an oily grease in aerosol form. It doesn't really "dry" per se and the first time you drive down a gravel road it'll pick up every bit of dust. It ends up looking like you have old oil leaks everywhere. That's totally fine for me. 2-3 cans of it will be more than enough to do everything. Fluid Film is a similar product IIRC, but more like a thin oil. Both products are kind of a pain to work around afterwards, if you are on a creeper and rub yourself on something you coated, you will be wearing it. It is way better than the "drain oil" method though... 25% diesel fuel/75% used engine oil sprayed on with a weed sprayer... that works very well to prevent rust but man is it messy.
Neither product will end up looking like something that belongs in a showroom. If you're going for looks AND function, spray on rubberized undercoating will be the best choice. It'll creep into tight crevices and it dries to a hard rubbery texture. Paint would be my 2nd choice.
Either way make sure you go over anywhere that has seam sealer and reapply it if it's cracked & shrunk, which it inevitably has in the heat down there, before you undercoat.