Sending Commands (Memory Bot): What is the best way nowadays?

12/17/2013 15:48 Tilp#1
Guys,

I am currently working on a bot in C# for FFXIV. I have finished the first part which is a multi-threaded application that reads memory using basepointer + offsets, then updates the GUI.

I have also implemented a waypoint navigation system and functionality for sending commands through keypresses. My code is now capable of sending combined keystrokes such as ctrl+1, which was a bit more complicated than i first imagined. This method might not be the most professional though, so below follows a couple of quick questions.

1) What is the best way nowadays for a bot to send commands to a game process? Is it DLL injection / hooking? Any links to information / tutorials / sample code would be greatly appreciated.

2) If anyone out there would like to team up with me as a mentor / partner, please let me know. I am very interested in expanding my knowledge and put down time and effort to make something really professional and functional

Thanks a million in advance!


Best regards,

Magnus
12/17/2013 17:46 tolio#2
[Only registered and activated users can see links. Click Here To Register...]

Quote:
Introduction

The InputManager library allows you to take control over the whole user common input. From tracking (hooking) user input to simulating user input. It allows you to send and receive global mouse and keyboard messages, in one easy to use library. It supports DirectX input simulation, which means you can send mouse or keyboard messages to any DirectX game you want, and the game will register it correctly.

With this library, you can create a complete macro recording application; it's well documented, and can be easily used with any application.
12/19/2013 01:27 Tilp#3
Thanks tolio, but i wish to avoid using third party libraries. I would like to code it all myself to properly learn and understand how it works.

I have already implemented a SendInput functionality, so that part works to send commands even with combined keystrokes.

I am not entirely sure if I should use some kind of API hook to do this completely professionally, or if the top bots all just use simple sendinput without any dll injection?

Thanks for any and all help.


M
12/19/2013 06:00 Dr. Coxxy#4
in most "professional" hacks you either reverse what the game does when you press a key and do this by yourself, or you hook the functions which are polling the keys, for example if the game uses directinput you might hook getdevicestate and manipulate the input data.