|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
SwaggaJackin' Master Cheater Reputation: 2
Joined: 06 Nov 2009 Posts: 304
|
Posted: Wed Jul 21, 2010 5:41 pm Post subject: Conditional if statement? |
|
|
I've been playing more and more with the auto assembler and I'm not too familiar with assembler in general but still learning.
I have an address that changes values according to the button being pressed. I want to change another address when a particular button is pressed and I'm not sure how to go about doing this in the auto assembler.
So basically, I want to monitor the value at address A and when address A holds a specific value, I want to change the value at address B.
I imagine it will be using a CMP and JE instruction. Just not sure how to piece it together. Thanks.
P.S. A hotkey will not be more efficient in this situation before someone suggests that.
|
|
Back to top |
|
|
XaLeX Expert Cheater Reputation: 0
Joined: 19 Aug 2008 Posts: 226
|
Posted: Wed Jul 21, 2010 6:07 pm Post subject: |
|
|
If I understood,
C-like pseudocode:
Code: |
int *A = read_address,
*B = write_address;
if(*A == aSpecificValue)
*B = something;
|
so, in ASM:
Code: |
//eax is the address you're reading, ebx the one you're writing to
cmp [eax], aSpecificValue
jne after
mov [ebx],something
after:
|
the jne just skips the third line if the value is not the one you're looking for.
|
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
|
Back to top |
|
|
Faxonation Cheater Reputation: 0
Joined: 18 Oct 2014 Posts: 25
|
Posted: Mon Sep 14, 2015 7:24 pm Post subject: I have the same issue |
|
|
I would like to know how to make this work
When this address 12B81548 has the value of 1,2,3,4 or 5
I want the value of these addresses
Address: Starting Value
11F9B8D4: 14642864 change to this value 4294967295
12882354: 24524640 change to this value 4294967295
129D2FA4: 25354864 change to this value 4294967295
129C7F14: 17747056 change to this value 4294967295
11F690D4: 25341312 change to this value 4294967295
12B297C4: 22708128 change to this value 4294967295
127599D4: 21844512 change to this value 4294967295
11FB04E4: 14799024 change to this value 4294967295
119C2784: 32426208 change to this value 4294967295
12A7C784: 26650400 change to this value 4294967295
1278A2A4: 25881776 change to this value 4294967295
12A8D634: 25287040 change to this value 4294967295
12840B34: 25000800 change to this value 4294967295
1277C1C4: 24423632 change to this value 4294967295
122D7E84: 23956064 change to this value 4294967295
127BFDC4: 22801696 change to this value 4294967295
12727EB4: 22557056 change to this value 4294967295
1194DFC4: 21479168 change to this value 4294967295
127B8C14: 17732800 change to this value 4294967295
1213EB44: 17081936 change to this value 4294967295
1280C0A4: 15161040 change to this value 4294967295
12894BE4: 14555504 change to this value 4294967295
122D7B94: 8755248 change to this value 4294967295
then when this address 12B8152C has a value of 0
Wait 2 seconds then values change back to the starting values
If anyone knows how to write this please let me know
|
|
Back to top |
|
|
Snow1337 Catastrophic Cheatah Reputation: 1
Joined: 12 Oct 2004 Posts: 183 Location: Your, Computer
|
Posted: Mon Sep 14, 2015 8:59 pm Post subject: Re: I have the same issue |
|
|
Faxonation wrote: | I would like to know how to make this work
When this address 12B81548 has the value of 1,2,3,4 or 5
I want the value of these addresses
Address: Starting Value
11F9B8D4: 14642864 change to this value 4294967295
12882354: 24524640 change to this value 4294967295
129D2FA4: 25354864 change to this value 4294967295
129C7F14: 17747056 change to this value 4294967295
11F690D4: 25341312 change to this value 4294967295
12B297C4: 22708128 change to this value 4294967295
127599D4: 21844512 change to this value 4294967295
11FB04E4: 14799024 change to this value 4294967295
119C2784: 32426208 change to this value 4294967295
12A7C784: 26650400 change to this value 4294967295
1278A2A4: 25881776 change to this value 4294967295
12A8D634: 25287040 change to this value 4294967295
12840B34: 25000800 change to this value 4294967295
1277C1C4: 24423632 change to this value 4294967295
122D7E84: 23956064 change to this value 4294967295
127BFDC4: 22801696 change to this value 4294967295
12727EB4: 22557056 change to this value 4294967295
1194DFC4: 21479168 change to this value 4294967295
127B8C14: 17732800 change to this value 4294967295
1213EB44: 17081936 change to this value 4294967295
1280C0A4: 15161040 change to this value 4294967295
12894BE4: 14555504 change to this value 4294967295
122D7B94: 8755248 change to this value 4294967295
then when this address 12B8152C has a value of 0
Wait 2 seconds then values change back to the starting values
If anyone knows how to write this please let me know |
Code: | [ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(changecode)
label(exit)
Game.exe+12345678:
jmp newmem
returnhere:
pop eax
newmem:
mov eax, [12B81548]
cmp eax, 01
je changecode
jne after
cmp eax, 02
je changecode
jne after
cmp eax, 03
je changecode
jne after
cmp eax, 04
je changecode
jne after
cmp eax, 05
je changecode
jne newmem
changecode:
mov esi, [11F9B8D4]
mov ebx, ff ff ff ff
mov esi, ebx
pop esi
mov esi, [12882354]
mov esi, ebx
pop esi
etc. etc.
originalcode:
mov [esi+00000146],eax (guess)
exit:
jmp returnhere
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem) //free memory
Game.exe+12345678: | [/code]
_________________
|
|
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
|
|