You don't need a special tool. I did it successfully with stuff I already had. Read some articles on it. It's definitely not rocket science.
https://www.morebeer.com/articles/Recooping_Barrel
You need to number the staves and mark what head belongs to which end before you disassemble. Not sure about the wavy line someone mentioned. Awful suggestion. I'd rather do a 10k piece jigsaw puzzle blindfolded. Sorry but since I already did this once, I'm confident that this line method will not work on a 30 stave barrel. Finding the right piece to mate up with the next would take forever.
Use a belt sander with heavy grit paper and an orbital sander for the more sensitive areas. I think I used around 60 grit. Because my barrel was so old and previously moldy, I had a bunch of pits in some of the staves. I used a small chisel to clean them out and then sanded to smooth. Be careful to NOT sand in any of the grooves (croze) or the stave edges.
You need a way to clamp/hold the staves in place while sanding. I used a Jawhorse but a table and some clamps would also work.
It probably took me less than 3 hours to sand everything down. This was the easy but messy part. You can toast it with a propane torch or a charcoal fire in a metal waste basket.
Reassembly is not easy but not impossible. Just assemble following the number pattern. I screwed a small metal strap (same stuff used for securing plumbing) in the face of the last barrel head so I could hold it in place and manipulate its position. The first time I assembled it, I did not use this strap and I was super irritated by the time I got it assembled. Using the stap took 1/10th of the time.
I'm sure there are people that would struggle to successfully do this but if you have any sort of DIY capabilities in your DNA, you'll be fine. The question is whether the work is worth the time. Having done it, I'd sooner spend $350 and buy a new barrel. Since I got my barrels for free, it was more of a fun project to see if I could do it. One of the barrels I received was too far gone and could not be salvaged.