View previous topic :: View next topic |
Author |
Message |
Xillica Cheater Reputation: 1
Joined: 28 Jun 2015 Posts: 45
|
Posted: Sun Feb 19, 2017 2:51 am Post subject: [SOLVED] Help on backtracing or alternative solution. |
|
|
Hello, I'm trying to create a multiplier for SP regen (which I already succeeded). But I'm wondering about whether I can also change the displayed regen value that popped out above the character's head.
Let's say I have base SP regen @126, I tried to multiply it by 2. So it become @252, the problem is the value that popped out above the character head is still @126. Can I also change the displayed regen value too? If so how?
===Case===
Current MP: 1000
Base SP regen: 126
Displayed regen value: 126
Multiplied SP regen: 252
---------------------------
1x SP regen resulted in
---------------------------
Current MP: 1252
Base SP regen: 126
Displayed regen value: 126 <-- How to change this to 252 too
Multiplied SP regen: 252
===End Case===
I would gladly donate 50$ to Cheat Engine or anyone that can give me solution for this problem. Thank You.
Note: The regen value is stored at the highlighted [ebp+08] which is 126
Description: |
|
Filesize: |
101.92 KB |
Viewed: |
15523 Time(s) |
|
_________________
Toukiden Kiwami cheat table: forum.cheatengine.org/viewtopic.php?p=5600876#5600876
Last edited by Xillica on Tue Feb 21, 2017 2:23 am; edited 1 time in total |
|
Back to top |
|
|
Viloresi Expert Cheater Reputation: 0
Joined: 02 Feb 2017 Posts: 149
|
Posted: Sun Feb 19, 2017 5:45 am Post subject: |
|
|
The displayed values should be in an address just like the "real" value of the sp regen...
Probably it's not changing because the function that refreshes the displayed values isn't called in some loop, but it is called just in some cases...
The SP regen is a fixed value, so there will not be any decrease or increase command, but just a mov . (If I'm guessing right)
Aniway if you Find what access that address and perform any action that changes the SP regen value in the game, you will find the instruction used by the function that updates the displayed value.
now you have 2 options:
1)Now you could make a script that "calls" that function when executed, or jump to that instruction... depends how it is,
2)Or you can post a screenshot.
I hope I've helped you in some way :S
|
|
Back to top |
|
|
Xillica Cheater Reputation: 1
Joined: 28 Jun 2015 Posts: 45
|
Posted: Sun Feb 19, 2017 6:33 am Post subject: |
|
|
Viloresi wrote: | The displayed values should be in an address just like the "real" value of the sp regen...
Probably it's not changing because the function that refreshes the displayed values isn't called in some loop, but it is called just in some cases...
The SP regen is a fixed value, so there will not be any decrease or increase command, but just a mov . (If I'm guessing right)
Aniway if you Find what access that address and perform any action that changes the SP regen value in the game, you will find the instruction used by the function that updates the displayed value.
now you have 2 options:
1)Now you could make a script that "calls" that function when executed, or jump to that instruction... depends how it is,
2)Or you can post a screenshot.
I hope I've helped you in some way :S |
I'm not sure if I can find the address since the SP regen is the effect from an accessory that I'm wearing in-game, which restores 5% of total SP every turn.
Code: | FairyFencerAD.exe+18EB1F - 8B 7B 10 - mov edi,[ebx+10] <- Accessing current SP value
FairyFencerAD.exe+18EB22 - 8B 45 08 - mov eax,[ebp+08] <- [ebp+08] has the regen value
FairyFencerAD.exe+18EB25 - 8D 34 07 - lea esi,[edi+eax] <- Adding the regen value and current SP value together to esi
FairyFencerAD.exe+18EB28 - 85 F6 - test esi,esi
FairyFencerAD.exe+18EB2A - 79 02 - jns FairyFencerAD.exe+18EB2E
FairyFencerAD.exe+18EB2C - 33 F6 - xor esi,esi
FairyFencerAD.exe+18EB2E - 8B 45 FC - mov eax,[ebp-04]
FairyFencerAD.exe+18EB31 - E8 DA40E8FF - call FairyFencerAD.exe+12C10
FairyFencerAD.exe+18EB36 - 8B CE - mov ecx,esi <- moving the esi value which is the total from current SP and SP regen value to ecx
FairyFencerAD.exe+18EB38 - 3B F0 - cmp esi,eax
FairyFencerAD.exe+18EB3A - 76 02 - jna FairyFencerAD.exe+18EB3E
FairyFencerAD.exe+18EB3C - 8B C8 - mov ecx,eax
FairyFencerAD.exe+18EB3E - 3B F9 - cmp edi,ecx
FairyFencerAD.exe+18EB40 - 0F95 C0 - setne al
FairyFencerAD.exe+18EB43 - 89 4B 10 - mov [ebx+10],ecx <- writes the value back to current SP |
The game is Fairy Fencer F Advent of Dark Force by the way.
Description: |
This value is about 5% from max SP. |
|
Filesize: |
21.72 KB |
Viewed: |
15458 Time(s) |
|
Description: |
You can see my current SP which 2635 (maxed). |
|
Filesize: |
21.69 KB |
Viewed: |
15458 Time(s) |
|
_________________
Toukiden Kiwami cheat table: forum.cheatengine.org/viewtopic.php?p=5600876#5600876 |
|
Back to top |
|
|
Viloresi Expert Cheater Reputation: 0
Joined: 02 Feb 2017 Posts: 149
|
Posted: Sun Feb 19, 2017 8:59 am Post subject: |
|
|
Xillica wrote: |
I'm not sure if I can find the address since the SP regen is the effect from an accessory that I'm wearing in-game, which restores 5% of total SP every turn.
|
there must be, you can scan for 4 bytes and search for 131 (or 83 hex) when you have the item equipped and scan 0 when you unequip it... or you can search for the actual number you see displayed when you equip (5 If I understood correctly)and unequip (0) the accessory.
the function you are watching right now it's not what you're looking for
This will work if the default value for the SP regen is 0,otherwise you have to scan for increased and decreased value.
|
|
Back to top |
|
|
Xillica Cheater Reputation: 1
Joined: 28 Jun 2015 Posts: 45
|
Posted: Tue Feb 21, 2017 2:19 am Post subject: |
|
|
Viloresi wrote: | Xillica wrote: |
I'm not sure if I can find the address since the SP regen is the effect from an accessory that I'm wearing in-game, which restores 5% of total SP every turn.
|
there must be, you can scan for 4 bytes and search for 131 (or 83 hex) when you have the item equipped and scan 0 when you unequip it... or you can search for the actual number you see displayed when you equip (5 If I understood correctly)and unequip (0) the accessory.
the function you are watching right now it's not what you're looking for
This will work if the default value for the SP regen is 0,otherwise you have to scan for increased and decreased value. |
That's not going to work if the SP regen value is accessed from temporary variable which used by shared instructions.
Anyway I already found the solution and the function that's used to display the SP regen value on screen by backtracing it from the previous instructions I've posted in my previous post.
In the end I just found the solution by myself using CE, then I'll just donate half of my promises to Dark Byte. It's also would be great if I can donate to other Cheat Engine contributors but I don't know how to that.
Description: |
|
Filesize: |
19.57 KB |
Viewed: |
15286 Time(s) |
|
_________________
Toukiden Kiwami cheat table: forum.cheatengine.org/viewtopic.php?p=5600876#5600876 |
|
Back to top |
|
|
Viloresi Expert Cheater Reputation: 0
Joined: 02 Feb 2017 Posts: 149
|
Posted: Tue Feb 21, 2017 6:23 am Post subject: |
|
|
Nice, could you please tell me where is that function in the screen you've posted? because I've tried to look for it but I didn't find it, that's why I told you that wasn't the right function, aniway I'm sorry for that but I still don't understand where it is?
Thank you
|
|
Back to top |
|
|
Xillica Cheater Reputation: 1
Joined: 28 Jun 2015 Posts: 45
|
Posted: Tue Feb 21, 2017 6:38 am Post subject: |
|
|
Viloresi wrote: | Nice, could you please tell me where is that function in the screen you've posted? because I've tried to look for it but I didn't find it, that's why I told you that wasn't the right function, aniway I'm sorry for that but I still don't understand where it is?
Thank you |
So from my previous posted instruction which is:
Code: | FairyFencerAD.exe+18EB22 - 8B 45 08 - mov eax,[ebp+08] <- [ebp+08] has the regen value |
1. Find out what [ebp+08] value at that time
2. Set up break and trace with step over
3. Do SP regen in game //Now you have nice tree of function calls that you can use to move back up before the call of SP regen function.
4. Try move back a level once
5. Set up breakpoint to the top most current function
6. Check whether the [ebp+08] has the same value at step 1
7. Repeat step 4-6 until [ebp+08] is changed
8. From there on you can start stepping manually using breakpoint to find out where [ebp+08] gets its value from.
Note: conditional breakpoint is pretty useful.
_________________
Toukiden Kiwami cheat table: forum.cheatengine.org/viewtopic.php?p=5600876#5600876 |
|
Back to top |
|
|
Viloresi Expert Cheater Reputation: 0
Joined: 02 Feb 2017 Posts: 149
|
Posted: Tue Feb 21, 2017 9:03 am Post subject: |
|
|
Xillica wrote: | Viloresi wrote: | Nice, could you please tell me where is that function in the screen you've posted? because I've tried to look for it but I didn't find it, that's why I told you that wasn't the right function, aniway I'm sorry for that but I still don't understand where it is?
Thank you |
So from my previous posted instruction which is:
Code: | FairyFencerAD.exe+18EB22 - 8B 45 08 - mov eax,[ebp+08] <- [ebp+08] has the regen value |
1. Find out what [ebp+08] value at that time
2. Set up break and trace with step over
3. Do SP regen in game //Now you have nice tree of function calls that you can use to move back up before the call of SP regen function.
4. Try move back a level once
5. Set up breakpoint to the top most current function
6. Check whether the [ebp+08] has the same value at step 1
7. Repeat step 4-6 until [ebp+08] is changed
8. From there on you can start stepping manually using breakpoint to find out where [ebp+08] gets its value from.
Note: conditional breakpoint is pretty useful. |
cool, thanks for the reply
|
|
Back to top |
|
|
|