 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Sun Nov 13, 2016 1:33 pm Post subject: |
|
|
memorasus-
You keep missing my point, entirely. I know that you will need to incorporate SE, as this target has anti-cheat implemented. The compare I provided in the script was the compare that you gave me to work with. As I said, I would not rely on that compare though. Instead, I would recommend using a secondary injection point and storing the address, and using that for your compare. This will ensure that you are ONLY targeting hero coordinates and never enemy or a block of wood et al. |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Sun Nov 13, 2016 1:50 pm Post subject: |
|
|
| ++METHOS wrote: | memorasus-
You keep missing my point, entirely. I know that you will need to incorporate SE, as this target has anti-cheat implemented. The compare I provided in the script was the compare that you gave me to work with. As I said, I would not rely on that compare though. Instead, I would recommend using a secondary injection point and storing the address, and using that for your compare. This will ensure that you are ONLY targeting hero coordinates and never enemy or a block of wood et al. |
Sorry still learning all this, just to make sure I'm understanding. I should have another AA script injecting somewhere that rights to the coordinates that are actually in my player structure, near my health and everything? and store something from that injection into a new allocated memory, and in my main AA script cmp to check values? |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Sun Nov 13, 2016 2:29 pm Post subject: |
|
|
Not writes, 'accesses'. As I said earlier, you may need to change your debugger/breakpoint settings in order to avoid crashing the target during this process.
You found the injection location for your teleport script by right-clicking on your coordinate address and clicking 'find out what writes to this address'. For the second injection point, you'll need to do the same thing, except this time, you'll click on 'find out what accesses this address'. You'll probably see that several instructions actually access your coordinate address. From here, you can do as I previously explained, to see if any of the instructions that populate this list are exclusive to your coordinates address (i.e. the instruction accesses only your coordinate address and no other addresses). Once you have that, you can create a second script (combine it with the first one), and store the address that the instruction accesses. Once it's stored, you can reference it in your first script and just compare against that address, in lieu of comparing against some random value that you found in the structure that may or may not even be reliable.
If you need help with any part of the process, just ask. There are many people on here that can assist you. |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Mon Nov 14, 2016 12:13 pm Post subject: |
|
|
I wasn't able to find a single opcode that accesses only my (editable) coordinates. However, there is an opcode that only writes to my non-editable coordinates. I made a script to store the address in a variable, now i'm trying to make my script cmp the value of the address in that variable to the value of the coordinate at the address of the injection point (I don't think I'm explaining this correctly). I can't seem to get my cmp and jmp functions working correctly. This is what I have so far
| Code: |
newmem_teleport:
// original code & injection point
movaps xmm0,[rbp+00]
mov [rsp+000000A0],44800000
// end of original code & injection point.
// load the value of my east & west coordinates into rax
push rax
mov rax,[_MyRealC]
cmp dword [rbp+00],rax //rbp+00 is my East / West coordinates, rax should equal
je TEST2 // if equal, jump to test if North / West coordinates are the same
TEST2:
mov rax,[_MyRealC+04] // +04 is offset for North West coordinates
cmp dword [rbp+04],rax
// by now both East / West, North / South coordinates should be the be
je TEST3
TEST3:
mov rax,[_MyRealC+08] // Height offset
cmp dword [rbp+08],rax
je ONLYISHOULDTELEPORT
ONLYISHOULDTELEPORT:
mov [_movement],rbp
jmp returnhere
|
After all 3 of the tests, I should be the only possible thing on the map (with the exception of last night it teleported my gun), but it still gives me enemies, and only shows my address if im moving. |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Mon Nov 14, 2016 12:33 pm Post subject: |
|
|
I should have stated...it is best to use an injection location that is accessing (not writing) your coordinates for your teleport script. The reason for this is because you want to be able to teleport immediately, without having to move your character first.
Also, you really should use an instruction that is accessing your 'editable' coordinates for your compare. Obviously, comparing the address will not work because the address will be different (e.g. one is editable and the other is not, so they are obviously different addresses). You can, however, compare against the value of the address...but you would need to make sure that those values are ALWAYS the same. Even then, it's not a preferred method because if ever an enemy or an object shares your coordinate value (not likely, but possible), then that character or object will get teleported instead.
There are other things that you can look at, however, with regard to your compare:
| ++METHOS wrote: | - You can use a pointer address for your filter, inside of your script, for the value that you are trying to manipulate.
- You can use pointer trees inside of the data structure to find something viable.
- You can shift the data structure (+ or -) and/or expand its size to find something useful.
- You can use the structure spider to find workable strings and/or for comparative analysis.
- You can check the register values by attaching the debugger or setting a breakpoint to see if something can be used for your filter.
- You can check to see if there are any instructions that are exclusive to the address/value that you are trying to manipulate and store the address for your filter by creating a second injection point.
- You can check to see if there are any instructions that are exclusive to any other address/value inside of the data structure for the address/value that you are trying to manipulate and store the address for your filter by creating a second injection point.
- You can analyze assembly code to see if an identifier is being checked or assigned somewhere.
- Et al.
|
If you are unable to find a reliable filter for your compare, maybe I can have a look at the game when I have more time.
This is Rainbow Six Siege? What version/release are you running? Thanks. |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Mon Nov 14, 2016 1:03 pm Post subject: |
|
|
I appreciate all the help, I'll try to do some more reversing of what accesses the address. still unable to find reliable compare unfortunately, getting a bit frustrated.
yes, it's Rainbow Six Siege, steam version, latest updates. If you have the game and are willing to take a look I can give you access to my table on github, it's currently private until I have it complete. |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Mon Nov 14, 2016 1:28 pm Post subject: |
|
|
I'll have to grab a non-steam copy, so I'll only be able to test using single player mode with a different version, probably. Hopefully, that won't matter though. I do not need your table. I'll see what I can see when I have more time.
Don't give up. The target that you have chosen is not an easy target to train. You've accomplished a lot thus far. |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Tue Nov 15, 2016 7:18 am Post subject: |
|
|
Probably won't be this easy, but please test this table and report back. Thanks.
Edit:
See this post for table.
Last edited by ++METHOS on Tue Nov 15, 2016 12:58 pm; edited 1 time in total |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Tue Nov 15, 2016 11:59 am Post subject: |
|
|
Wow nice work, I really appreciate it. It's definitely much closer than I've gotten. I think rcx might change for each map I'm debugging it now. On Hereford base it looks like it works at least for offline mode. Thank you!
edit: For offline, on the house map I found cmp rcx,1C00 works
edit 2: For offline, on the Consulate map I found cmp rcx,2500 works |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Tue Nov 15, 2016 12:55 pm Post subject: |
|
|
Sorry...I never got around to updating the table. Yes, I also noticed that the ID appears to change with each level. You can try this version, which is simplified (I haven't tested this much...I only worked up to level 3, but you can add the other levels using the +28 offset):
Hotkeys:
F1 - Save Location Slot 1
F2 - Load Location Slot 1
F3 - Save Location Slot 2
F4 - Load Location Slot 2
F5 - Save Vac Location
F6 - Turn Vac On
F11 - Turn Vac Off |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Tue Nov 15, 2016 1:18 pm Post subject: |
|
|
| This one looks really impressive. It's crashing my game as soon as I activate it for some reason, I'm going to look into it. Thanks! |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Tue Nov 15, 2016 1:53 pm Post subject: |
|
|
Odd. Be sure to close completely out of CE and the game before trying and make sure that no other scripts or lingering data are interfering.
Other than that, you might check if the AOB signature is good for your version. I tested with latest version of CE and SE plugin. |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Wed Nov 16, 2016 11:39 am Post subject: |
|
|
| Even restarted computer, weird. It's the same aob signature so I have no idea. I noticed you got rid of the filter_address and use r8 instead, I might try to adapt this to the other script you provided. I actually already went through about 8 of the maps and made the script work for them. I just have to uncomment the cmp for the map i'm currently playing. It's not optimal especially because that cmp for filter_address only works if im host online, and changes depending on if there is a hostage or not (as such i saved the ones that are hostage, so i can teleport hostage to me which is kinda cool). |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Wed Nov 16, 2016 11:55 am Post subject: |
|
|
I would not bother with the first table. It is basically the same, just unnecessarily more involved. It's essentially pulling the same data for the compare as in the second table that I posted (well, sort of), but the second table is better because it only uses 1 injection point - it's the same injection point as used in the first table, so I'm not sure why it would be crashing on you.
If you set up your compares, similarly to what I started to do in the second table that I posted, you should be able to use them across all levels, without having to change anything with your script each time. I do not know how this will play out online, however, but that was never my intent to begin with, as I have no interest in helping with that. |
|
| Back to top |
|
 |
memorasus Newbie cheater
Reputation: 0
Joined: 27 Sep 2016 Posts: 19
|
Posted: Wed Nov 16, 2016 12:12 pm Post subject: |
|
|
| don't worry, by online i mean terrorist hunt. I don't play PvP, nor advocate ruining the game experience for anybody. I only mod in PvE if everyone else in the game wants it, otherwise I don't (Most people are blown away by the mods I make, because a lot of my mods give them infinte everything too, and quickly add me lmao). I don't think the cmp I currently have would work the same way you use it in your second script, because a lot of the values are reused in different maps, just my value changes to a different one. See my PM, as it's not something I want to say publicly since i reuse this alias on other websites. |
|
| 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
|
|