I just wanted to avoid injection because I figured it would be easily detected, though I believe most bots do use injection. I assume this is an overall easier method..?
Injection is safe as long as you don't do anything stupid like write to read only memory (mountain climb offset etc) as long as your bot stays private it shouldn't get detected unless they updated warden with some new detection mechanisms AFAIK, I'm not an expert on Warden but you can find most of this info by searching the memory editing section. And yes dll injection is the best convenient way if private.
I downloaded EasyHook (I assume that's what I need), and you said that DoString() is the function I need to call? What should be passed to FrameScript__Execute? I assume I pass it a lua script, but not sure how I would format it. I am also not entirely sure how to structure the dll... u_u
You need to inject the dll so any unit which has code to do that will do.
FrameScript__Execute is DoString, you can find out how to call it by searching the memory editing section, you pass lua strings "if GetSpellCooldown("Hammer of Justice") == 0 then CastSpellByName("Hammer of Justice"); end;"
but I think there's a function for lua scripts. You need to call DoString from the main thread so you should hook endscene for that, find out how by searching memory editing section.
Also, once I inject my dll do I automatically have access to all the WoW lua structures? Is it a way for me to pass information between external program to WoW.exe?
You can directly access any information you need when injected, you can probably pass information to the dll through pipes (?) I'm not sure I never needed to do this.
I would like to avoid tripping warden, so I don't think disabling the protection is a good idea.
What I would do is create a dll and hardcode the macros but that's because I'm lazy and I probably never do the most optimized/efficient thing when coding. There should be many ways you can disable the lua protection without tripping warden but since I never looked how it works I don't know.
Yes... I am as stupid as I sound. ^_^;;