Looking for help with write memory

12/08/2018 16:28 kssbikini#1
Hello there. I was coding simple bots to mmorpg. Now I wanted to do my lessons and start with memory read / write functions.
So far, I logged into game and using Cheat Engine I correctly retrieved the X, Y of my character on the map.

I was shocked, because I couldn't find help anywhere for what I'm going to do.

I would like to send commands like "move to x, y" in order to make my bot move to stop or at least stay in training area.

Also. I don't know yet, how to retrieve information / memory, to cast skills or press target button.
12/10/2018 04:56 elmarcia#2
Quote:
Originally Posted by kssbikini View Post

Also. I don't know yet, how to retrieve information / memory, to cast skills or press target button.
Before moving to x,y u need to start there, dont know what type of game u are playing but asumming you can click somewhere and your player will follow a path to clicked location, when you click somewhere there is a lot going on for example:
MouseClickPressed - get click position x,y
- check click against hud
- if true handle event / break
-check click in scene.
-if true convert to world coordinates, makePath(creates a path to follow from your actual coordinate to target location), encode move path, encript, send packet

This is just an example.

Where to start? Open wireshark and log game packets check what protocol they use for communication (try clicking somewhere and check what u got, repeat and see, port 443? ssl mitmproxy is the best option )
Don't want to mess with packets, search for mouse state, first scan unkown initial value, (you need to ser hotkey for changed value and unchanged value scan) click mouse down scan changed, release scan changed, move around / use skills scan unchanged, repeat until get a few values, now pick one and check what addresses accesess this value, you should watch the window populate with assembly instructions, try clicking mouse down and check if a new address appear, move it without releasing and check too, finally release and check hopefully u will get some to start following, if not its not the right address..

So how do you call a movement function?
Its already inside the game loop

(
handleInput(); -> if(mouseReleased(){ change this flag and x,y params to call this function
Do sth
})
handleNetwork();
update();
Render ();

)


Is not easy, but try hard and u will make it work:cool:

Editor:sorry for my bad english but its late and i wrote with my phone
12/10/2018 12:30 kssbikini#3
Yes, actually helped me a lot. Not that I've realized, how to build path using packets, but maybe one day, I will back to your post and try hard.

For now I'm happy, cause I've successfully added function, which uses memory x, y , read it and set the values border, when start training, if he's going too far any direction, there is a complex procedure, that gonna grab him and walk opposite direction, until meet the "half distance" . So far it looks good and will be useful especially that there are always bosses on crossroads. Must select a safe area.