View previous topic :: View next topic |
Author |
Message |
capsmart How do I cheat? Reputation: 0
Joined: 06 Feb 2015 Posts: 2
|
Posted: Fri Feb 06, 2015 11:43 am Post subject: Farm Heroes Saga does not stop the counter |
|
|
Starting from game 821 cheat engine cannot block the counter for the remaining moves. It seems like it is changing all the time.
I can spot the two memory variables that are used as a counter then I block them but the counter still works. If I search for the counter again cheat engine locates two new memory variables that again cannot be blocked.
Any ideas or suggestions?
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Fri Feb 06, 2015 12:06 pm Post subject: |
|
|
If you have found the 2 values, check what is accessing to the second value.
You will get this code:
Code: | 165A7CE8 - 89 42 10 - mov [edx+10],eax |
Look up that code in disassembler and you will see this:
Code: | 165A7CD6 - 8B 41 04 - mov eax,[ecx+04]
165A7CD9 - 89 45 E4 - mov [ebp-1C],eax
165A7CDC - 8B 4B 0C - mov ecx,[ebx+0C]
165A7CDF - 8B 59 08 - mov ebx,[ecx+08]
165A7CE2 - 8B 4B 14 - mov ecx,[ebx+14]
165A7CE5 - 8B 5D FC - mov ebx,[ebp-04]
165A7CE8 - 89 42 10 - mov [edx+10],eax |
Make a code injection on the first instruction in this list, your script should look something like this:
Code: | [ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
mov [ecx+04],(int)50
originalcode:
mov eax,[ecx+04]
mov [ebp-1C],eax
exit:
jmp returnhere
165A7CD6:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
165A7CD6:
mov eax,[ecx+04]
mov [ebp-1C],eax
//Alt: db 8B 41 04 89 45 E4 |
Replace 50 with whatever number you prefer. Of course you can try to make an aobscan for this script etc, I will not bother with it anymore.
_________________
|
|
Back to top |
|
|
capsmart How do I cheat? Reputation: 0
Joined: 06 Feb 2015 Posts: 2
|
Posted: Fri Feb 06, 2015 3:45 pm Post subject: |
|
|
Hi Geri
Thank you for your reply, I get the point but I am afraid that I am not sure I completely understand the procedure and even if I succeed I am afraid that I would not like to do it every time I want to play a stupid game. I was hoping for a "shortcut".
Thank you once again (and I hope that someone comes with an easy solution).
|
|
Back to top |
|
|
cicciopalombo How do I cheat? Reputation: 0
Joined: 09 Feb 2015 Posts: 1
|
Posted: Mon Feb 09, 2015 10:57 am Post subject: |
|
|
Hello everyone,
I've too the same problem but I'm afraid I do not know the correct Geri's method.
When Cheat Engine update is available that solves the problem?
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Mon Feb 09, 2015 11:14 am Post subject: |
|
|
This is not a problem with Cheat Engine. The value is simply not stored as it was before and you can't find it with simple scanning. You have to use more advanced methods to deal with the problem, such as the one I have described above.
_________________
|
|
Back to top |
|
|
almsilvaa How do I cheat? Reputation: 0
Joined: 09 Feb 2015 Posts: 7
|
Posted: Mon Feb 09, 2015 11:49 am Post subject: |
|
|
Hi geri
i m having the same problem
i would like to try your methode but i dont understant..
can u make a video?
thanks
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Mon Feb 09, 2015 11:57 am Post subject: |
|
|
There are many tutorials and videos about the Cheat Engine tutorial.
Learn Step 5 and Step 7. Once you are done with that, you will already know how to use the options in CE to create this script.
Also keep it in mind that when the game will be updated (if it wasn't already), this method may stop working as well and/or the code may look slightly different (this is very likely, because it's a flash game).
_________________
|
|
Back to top |
|
|
almsilvaa How do I cheat? Reputation: 0
Joined: 09 Feb 2015 Posts: 7
|
Posted: Mon Feb 09, 2015 1:44 pm Post subject: |
|
|
yes of course
i have watched the videos for step 5 and 7
but when i try to find out what acesses the adress like le video for step 5
i have no results..
do you know why?
Description: |
|
Filesize: |
158.39 KB |
Viewed: |
53590 Time(s) |
|
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Mon Feb 09, 2015 1:49 pm Post subject: |
|
|
You will get a result only when you move and the value is changed. Then you should see the code popping up in that window. If it doesn't, try to change browser, preferably IE or Firefox. Chrome is causing all sorts of issues for people, but I don't use it, so I don't know if it's interfering with debuggers.
_________________
|
|
Back to top |
|
|
almsilvaa How do I cheat? Reputation: 0
Joined: 09 Feb 2015 Posts: 7
|
Posted: Mon Feb 09, 2015 2:16 pm Post subject: |
|
|
i m almost there!
so now i have the first code but when i try to make step 7 i have opcode: none...
i will get the result only when i move too?
Description: |
|
Filesize: |
295.8 KB |
Viewed: |
53574 Time(s) |
|
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Mon Feb 09, 2015 2:32 pm Post subject: |
|
|
Don't nop it. Don't "replace it with a code that does nothing". It's useless.
Look at my first post in the topic and find the code line which is a little above the code line that you have found.
You are looking for this line:
Code: | 165A7CD6 - 8B 41 04 - mov eax,[ecx+04] |
(This is the code that stores the remaining moves on eax from a temporary storage.)
When you change the value in the temporary storage, the cheat will work for real, not just visually.
So find that code and either make your own script, or just replace the address in my example script with your own.
The goal is to change the value on [ecx+04] with this code
Code: | mov [ecx+04],(int)50 |
but the code injection must be done on the proper address, as I have said above.
If you have activated your script, make a move and you should have 50 remaining moves left.
_________________
|
|
Back to top |
|
|
almsilvaa How do I cheat? Reputation: 0
Joined: 09 Feb 2015 Posts: 7
|
Posted: Mon Feb 09, 2015 2:49 pm Post subject: |
|
|
so i have donne what you told me
and i have injected the code and executed
but the counter doesnt block!
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Mon Feb 09, 2015 3:11 pm Post subject: |
|
|
I have tried it now and it's working for me.
Are you playing on king.com?
I didn't register, just playing as a guest here:
https://king.com/#!/play/farmheroes
I have set my moves to 9999, then I have just played for a while and it's working. I have moved much more than what I could have done.
Description: |
|
Filesize: |
281.41 KB |
Viewed: |
53535 Time(s) |
|
_________________
|
|
Back to top |
|
|
almsilvaa How do I cheat? Reputation: 0
Joined: 09 Feb 2015 Posts: 7
|
Posted: Mon Feb 09, 2015 3:42 pm Post subject: |
|
|
cool so i did something wrong..
can you tell me what?
i copy the code "number 10" at number 7 where s written place your code here then i execute..
Description: |
|
Filesize: |
294.12 KB |
Viewed: |
53533 Time(s) |
|
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Mon Feb 09, 2015 4:00 pm Post subject: |
|
|
I have no idea how did you get to that code, but it's the wrong location.
Ok here it is step by step:
1. You find the value.
2. Check out what is accessing to it.
3. Check that code in the disassembler, you will find those codes that I have highlighted.
4. You stand on the first code line in the highlighted field and press CTRL+A.
5. Press CTRL+ALT+T, then press CTRL+I. The address should match the address of the code that I have highlighted.
6. You insert this line into the newmem part of the script:
mov [ecx+04],(int)50
7. Now click on File-Assign to current cheat table. Your script is added to Cheat Engine. Enable the script and make a move, then disable the script. If you have done it right, you have 50 moves left.
The address of the code is different every time, so don't use the same address that I have used.
Description: |
|
Filesize: |
217.98 KB |
Viewed: |
53517 Time(s) |
|
Description: |
|
Filesize: |
271.85 KB |
Viewed: |
53517 Time(s) |
|
Description: |
|
Filesize: |
321.6 KB |
Viewed: |
53517 Time(s) |
|
Description: |
|
Filesize: |
194.07 KB |
Viewed: |
53517 Time(s) |
|
Description: |
|
Filesize: |
208.82 KB |
Viewed: |
53517 Time(s) |
|
_________________
|
|
Back to top |
|
|
|