replacing a freehub body is a quick and easy job.
your best source is to buy a complete hub off ebay.
i suspect 9-speeed shimano freehubs are interchangeable between other 9-speed hubs but check first.
the best way of securing the hub from movement is actually by keeping the cassette on and using a chainwhip to hold it in place. this works for hubs that are not built onto a wheel as well.
when you’ve exposed the freehub securing nut which is a rather large allen key – can’t remember the exact size but i believe it to be the same size as those used on crank nuts – you can use opposing force of the chainwhip against the allen key to remove it.
the whole process is an unbolt / bolt-on job. No real complexity at all.