I've spent the last week or so reading about how to inject/hook/etc in the WoW process. It seems like there are multiple approaches, and while any kind of injection is detectable, I was hoping the experts here could give their opinion on what is safest or reasonably safe.
To get your code into the WoW process you can either load DLLs, or inject ASM using memory writing. Clearly loading DLLs is more detectable, but is there any evidence that WoW cares if you load DLLs?
Also, to gain control in the WoW process space, you can hook WoW functions (EndScene seems to be the preferred hook point) or spawn your own threads. I know that you have to hook the main WoW thread to call WoW functions, and that hooking EndScene is considered safe because it's done by other legal software, but what I don't know is whether starting up new threads remotely is dangerous or not (clearly WoW can detect new threads appearing in its process).