 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
h4ck0ry How do I cheat?
Reputation: 0
Joined: 12 Jun 2016 Posts: 9
|
Posted: Thu Sep 01, 2016 5:18 am Post subject: [Help] Writing camera position gets reset |
|
|
Hey folks!
In the process of writing an aimbot for a classic shooter (circa 2005).
I've already done all the hard work. I have player location, camera location (the location the crosshair points to), and the location of the closest enemy.
Now for the very last task, actually aiming at the enemy. The camera fields are all static (green) addresses, which is a nice change from the newer games and meant I didn't have to rely on the pointerscanner this time.
Essentially, my issue is that the moment I write the enemy's coordinates to the camera coordinates, they're immediately reset to the previous camera location, and no change is noticed ingame. Outputting the values, I can clearly see it get written and then instantly change back.
Is there something I'm missing? Perhaps there is a function that sets the camera position that I can somehow hook into? Advice on how to do that, or any real possibility that will get me to my end goal would be greatly appreciated!
I hope that the value in the work I have done thusfar qualifies me for a little bit of help here haha!
If it matters, this is an offline hack!
Thanks in advance!
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Sep 01, 2016 5:22 am Post subject: |
|
|
| Whether you're trying to move camera or enemy, if they don't move and/or move back after you change their respective values, then it is likely that you've either found the wrong value(s), the wrong instruction or both. If you're certain that they are correct, check to see if another instruction is writing to them and see about NOP'ing that instruction (or using that instruction in lieu of what you're currently using).
|
|
| Back to top |
|
 |
h4ck0ry How do I cheat?
Reputation: 0
Joined: 12 Jun 2016 Posts: 9
|
Posted: Thu Sep 01, 2016 5:55 am Post subject: |
|
|
| ++METHOS wrote: | | Whether you're trying to move camera or enemy, if they don't move and/or move back after you change their respective values, then it is likely that you've either found the wrong value(s), the wrong instruction or both. If you're certain that they are correct, check to see if another instruction is writing to them and see about NOP'ing that instruction (or using that instruction in lieu of what you're currently using). |
Hi Methos, thank you for your quick reply! I double checked, and I am quite certain the values I am getting are valid. Additionally, it is the only instance of a seemingly-valid result.
I will look into the possibility of them being incorrect some more, but I truly don't believe that is the problem.
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Sep 01, 2016 5:59 am Post subject: |
|
|
| To test, simply change the value, directly. If it doesn't stick or doesn't seem to change at all, right-click the address to see what is writing to it and NOP the instruction, then try again. If it still doesn't work, make sure that nothing is still writing to the instruction. If no other instructions are writing to it at that point and directly changing the value does not produce the intended results, then you've got the wrong value.
|
|
| Back to top |
|
 |
h4ck0ry How do I cheat?
Reputation: 0
Joined: 12 Jun 2016 Posts: 9
|
Posted: Thu Sep 01, 2016 4:57 pm Post subject: |
|
|
| ++METHOS wrote: | | To test, simply change the value, directly. If it doesn't stick or doesn't seem to change at all, right-click the address to see what is writing to it and NOP the instruction, then try again. If it still doesn't work, make sure that nothing is still writing to the instruction. If no other instructions are writing to it at that point and directly changing the value does not produce the intended results, then you've got the wrong value. | I have a theory currently that perhaps my value is correct, however it is arrived at through a different calculation. Since I am not changing the "base" values, my higher-scope values end up changing back.
If my theory is correct, I need to find out what values are used to calculate these ones, and possibly what values are used to calculate those ones, until I find the top-end values that when changed will cascade down and apply the changes to the lower addresses as well. Does that make sense?
I remember doing stuff like this as a teenager with Ollydbg and crackme tutorials, but its been years and this is just something I'm slowly getting back into.
EDIT:
I assume I'll have to brush up on my assembly, list the addresses the write to my value's address, and then observe the operations done and what addresses they call on. I'd be very surprised if someone hasn't written some sort of tool/process/scanner to automate this, does anyone know of one that exists? Specifically to locate the values/addresses of variables used to calculate other address values.
EDIT 2:
This is my favorite part about posting here. The discussions alone end up getting me on the right path. Turns out, my crosshair location is calculated from the camera pitch and yaw. Now I just need find an equation to convert my enemy's XYZ location to a camera pitch/yaw value and then set them, the crosshair location will then automatically follow suit.
I seem to remember reading about a calculation somewhere that can take the camera's XYZ location and convert it to a pitch/yaw value. Does anyone know of something like this?
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|