View previous topic :: View next topic |
Author |
Message |
mordax Expert Cheater Reputation: 1
Joined: 16 Apr 2010 Posts: 121
|
Posted: Tue Feb 13, 2018 5:08 pm Post subject: How can I compare / filter out address from breakpoint |
|
|
I couldn't think of a better title so here goes
here's what i usually do in games to find something like ammo
- find the ammo address (simple inc / dec)
- right click > find out what writes to it (or accesses)
- use up some ammo and see what pops up
at this point i need a unique opcode that only accesses the ammo and nothing else, so what i do
- in the new opcodes window (the following opcodes accessed xxxxxx)
- I right click > check if found opcodes also access other addresses
at this point. 99% of games always have 1 opcode that accesses only ammo, while some access 2 - 8+.
so i use the one that accesses only ammo and i'm on my happy way, but today i came across with a game where all found opcodes access more than just 1 address.
How can I compare / filter out just the ammo? for example in some games if opcode accesses like 8+ addresses, then modifying that opcode would also give ammo to all the AI in the game, which I don't obviously want.
my scrip looks like this
Code: | [ENABLE]
aobscanmodule(ammo,game.exe,F3 41 2F 10 9B)
alloc(newmem,$100,"game.exe"+34666)
label(return)
alloc(_findammo,4)
registersymbol(_findammo)
newmem:
push rax
mov rax,_findammo
mov [rax],r14
pop rax
movss xmm1,[r14+00000124]
jmp return
ammo:
jmp newmem
nop
nop
nop
nop
return:
registersymbol(ammo)
[DISABLE]
ammo:
db F3 41 2F 10 9B
unregistersymbol(_findammo)
unregistersymbol(ammo)
dealloc(newmem) |
and then all I do is enable the scrip and add address into my cheat list as a pointer.
base is _findammo and then offset 124
then once I shoot, address will display my current ammo and i can freeze it or add more and so on.
but if same opcode accesses all the AI ammo too, then it wont find my ammo but starts bouncing in between all the found ones.
Please only reply if you know what i'm talking about. if you have never used this method, don't bother to understand it.
I just need a way to add a compare into my script so that it only finds the player ammo. any ideas?
please only step by step examples. i'm not that good with coding. it took me long time to understand even this far.
i was told you can use dissect structure, that i should put player ammo and AI ammo addresses in there to compare. I know this, but how do i make my script compare those differences?
|
|
Back to top |
|
|
OldCheatEngineUser Whateven rank Reputation: 20
Joined: 01 Feb 2016 Posts: 1587
|
Posted: Wed Feb 14, 2018 12:01 am Post subject: |
|
|
this means you havent completed tutorial step 9, anyway you can add and compare all addresses in dissect data / structures or spider structure. (or even registers which i prefer)
_________________
About Me;
I Use CE Since Version 1.X, And Still Learning How To Use It Well!
Jul 26, 2020
STN wrote: | i am a sweetheart. |
|
|
Back to top |
|
|
sjl002 Master Cheater Reputation: 0
Joined: 31 Aug 2013 Posts: 305
|
Posted: Wed Feb 14, 2018 12:32 am Post subject: |
|
|
Yes.For finding compare address the best way is data structures and structure spider.
but if you want find script that helping to you for compare use from break point(break and trace).
you can find some tutorial in youtube. GameHackLab [RU] that they have best tutorial for compare.
this(name) is a one of the best tutorial from them:
20. Еще один метод отделения игрока от врага на общих инструкциях.
|
|
Back to top |
|
|
TheyCallMeTim13 Wiki Contributor Reputation: 50
Joined: 24 Feb 2017 Posts: 976 Location: Pluto
|
Posted: Wed Feb 14, 2018 12:49 am Post subject: |
|
|
Like @OldCheatEngineUser said step 9 of the CE tutorial is a good place to start. But you can check the registries to see if there is some kind of ID, say like EAX is always 1 for you. Or you can use the "Dissect Data/Structure" tool or the "Structure Spider" just do multiple scan with the spider tool. Then you can use conditional breakpoints to see if you get what you want then just do similar compares in the script.
The other option I tend to use is find some opcode that only fires for the player and fires constantly (so like opcode for displaying on screen), this will give you a good pointer to use on the table and to compare to in the decreasing opcode.
_________________
|
|
Back to top |
|
|
mordax Expert Cheater Reputation: 1
Joined: 16 Apr 2010 Posts: 121
|
Posted: Tue Feb 20, 2018 12:44 am Post subject: |
|
|
sorry but none of this helps at all. it means absolutely nothing to me. how do i put any of that into a script? i know how to compare in dissect data, but how do i include this in a script?
it sounds like none of you actually knows either, please full examples only as i dont know how to write that into a script.
same with registers, so what if one of them is different, how do i include that into a script?
|
|
Back to top |
|
|
|