I’ve always heard for shooting corrosive ammo, the best thing to use for cleaning is soap and water. Straightarrow suggested ammonia solutions. Others have suggested Windex. After shooting the AK-74 in Texas, I tried Windex, and had no rust spots on the firearm. A few days ago I tried soapy water, and found the results to be less than pleasing, with rust splotches on the flash hider and in the gas tube. Windex would seem to win hands down.
But I doubt Windex is effective because of the ammonia. I think it has more to do with the fact that Windex has much more effective surfactants in it than plain soapy water. The ammonia is immaterial, other than its power as a detergent, which can be explained by the chemistry in the primers.
Corrosive primers contain mercury fulminate, which is strike sensitive, and an amalgam of potassium chlorate as an oxidizing agent, and rosin as a binding agent and fuel. The mercury fulminate gets the reaction going when the primer is struck by the firing pin, and gets hammered against the “anvil”. The potassium chlorate and rosin begin reacting violently to create a jet of hot, burning gas which then ignites the main powder charge. The problem with this reaction is that one of the byproducts is potassium chloride, which ends up on metal surfaces and attracts moisture, which quickly starts the corrosion process. The purpose of using warm water is to dissolve the potassium chloride, and wash it off of the gun. I suspect Windex works well because it has surfactants that will dig into the powder residue, get to the surfaces, and help wash away more of the potassium salt.
Another by product of of the primer reaction is elemental mercury, which can form amalgams with brass. If you ever wondered why the Soviets use steel cased ammo, this is one of the reasons. Over time, mercuric primers can leech enough mercury into the casing to weaken the brass, increasing the risk of rupture when it’s fires. Using steel casings minimizes this risk, even with very old ammunition.
Modern non-corrosive primers use lead syphnate, which doesn’t leave moisture attracting salts. The lead syphnate is bound up with ground glass as a frictionator, tetracene as a sensitizer, along with an oxidizing compound, typically barium nitrate, and a fuel source, such as antimony sulfide.
Non-corrosive primers are more prone to degradation than corrosive primers, in large part because tetracene makes the primer a lot more heat sensitive. There have been a lot of advancements in primer technology lately, particularly with non-toxic primers, and I won’t pretend to be an expert on this.
But I will say that Windex is definitely your friend if you shoot corrosive primed surplus ammunition out of your firearms. It seems to get the job done better than soapy water.