You are probably looking for a Windows solution but I still think this should not be left unmentioned:
An alternative solution to writing a Windows driver is to run WoW in WINE. WINE acts as a layer between Win32 applications and the GNU/Linux infrastructure, translating Win32 API calls and emulating the NT kernel on the way. Pure Win32 applications can't see beyond the WINE layer. As WINE is open source, you can modify its behavior as you wish, including sending fake input that looks like hardware events.
It's much simpler than writing drivers or creating freaky kernel hacks on Windows, imho. On the other hand, it might be just as much work if you're not already familiar with the GNU/Linux ecosystem, its user-land and development tools.
951388dcb8e5be825c2c10a7f53c16fcd84fc6c8b76ff0483237eeff745eaeac
@Cypher
That might not be an option considering (as stated in first post) my bot is external. Incase the function reads time from a static pointer it would be possible to read it tho I guess.. I'll look into it, thanks anyhow.
Edit
Thanks to Apoc's address-thread!
Looks like WoW function "PerformanceCounter" function gets time from either GetTickCount or QueryPerformanceCounter depending on argument..
Code:00843F79 |. 8B46 08 MOV EAX,DWORD PTR DS:[ESI+8] 00843F7C |. 83E8 01 SUB EAX,1 ; Switch (cases 2..2) 00843F7F |. 74 2D JE SHORT Wow.00843FAE 00843F81 |. 83E8 01 SUB EAX,1 00843F84 |. 75 28 JNZ SHORT Wow.00843FAE ... 00843F8A |. FF15 14529C00 CALL DWORD PTR DS:[<&KERNEL32.QueryPerformanceCounter>] ; \QueryPerformanceCounter ... 00843FAD |. C3 RETN 00843FAE |> FF15 90519C00 CALL DWORD PTR DS:[<&KERNEL32.GetTickCount>] ; [GetTickCount; Default case of switch 00843F7C ... 00843FCF |. C3 RETN
Last edited by Reconsider; 02-26-2010 at 04:15 AM.
Unquestionably the best way to fake input:
[yt]Vl58mNL5u2A[/yt]
951388dcb8e5be825c2c10a7f53c16fcd84fc6c8b76ff0483237eeff745eaeac
too bad it not only looks like the lego train it's build from but also sounds like it, horrible if i may add![]()
Here“s just a suggestion probabel the same function as PostMessage but you could use AutoItX.dll (Plugin to use AutoIt functions , then you could use ControlSend etc)
The last guy to have this problem solved it with:
http://www.mmowned.com/forums/wow-me...-anti-afk.htmlCode:WriteValue(pLastHardwareAction, int.MaxValue);
Last edited by FenixTX2; 03-12-2010 at 12:05 PM.