Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Code that can only be changed once

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
BlackMoogle1234
How do I cheat?
Reputation: 0

Joined: 13 Jun 2015
Posts: 3

PostPosted: Sat Jun 13, 2015 12:01 pm    Post subject: Code that can only be changed once Reply with quote

So, after stumbling around for awhile, I managed to find a way to edit a value that I needed for Final Fantasy Crystal Chronicles on the Dolphin Emulator. This value is to increase the number of enemy kills in an area, so that I can get high Bonus Points. The value sadly resets to 0 after I clear the dungeon, requiring me to enter the value in again -- it does this even if I freeze the value by checking the box, or if I say "find what accesses this value" and replace the resulting code with nothing. So, I'm left with having to increase the number of kills again by modifying the value.
Problem is, for some reason, I can only modify this value once per session. That is to say, I can enter a dungeon, say "255 kills", clear the dungeon. Yay, bonus items. I leave, the value is reset to 0, and then, unless I reset Dolphin altogether, Cheat Engine won't let me change the kills back to 255 again. It just ignores my input. This seems very strange to me, and though it's only a mild inconvenience, I was wondering whether anyone had any ideas on how to fix it, or could at least explain why it only lets me modify it once? =x Sorry for huge noobness.
Back to top
View user's profile Send private message
Xathan
Advanced Cheater
Reputation: 1

Joined: 19 Jun 2014
Posts: 72

PostPosted: Sat Jun 13, 2015 1:18 pm    Post subject: Reply with quote

I have a theory but first one question:

When you change the value the second time is it still zero or the value you entered? If the latter then your address is not correct any more and you need to search it again. If it is still zero then it could be a "bug" when using too high values. Try some smaller values, e.g. 120 (less than 127 just to make sure).
Back to top
View user's profile Send private message
BlackMoogle1234
How do I cheat?
Reputation: 0

Joined: 13 Jun 2015
Posts: 3

PostPosted: Sat Jun 13, 2015 1:36 pm    Post subject: Reply with quote

That was my first thought, too, but no. The value itself is still correct; for instance, if I enter a dungeon and kill something, I can see the value increase 1, 2, 3, etc. I just can't change it. It also occurred to me that 255 may be too high, but no -- changing it to anything at all "locks" it, and I have to reset the emulator to change it again.
Thanks for your response anyway, though :3
Back to top
View user's profile Send private message
Alamer99
Expert Cheater
Reputation: 1

Joined: 04 Jan 2015
Posts: 136

PostPosted: Sat Jun 13, 2015 2:58 pm    Post subject: Reply with quote

Start The Game And Scan For The Value You Want

Do NOT Change It.

Find What Writes/Accesses The Value When It Increases

Do Some Code Injecting On It And See If It Works (It Probably Will)
Back to top
View user's profile Send private message
BlackMoogle1234
How do I cheat?
Reputation: 0

Joined: 13 Jun 2015
Posts: 3

PostPosted: Sat Jun 13, 2015 3:25 pm    Post subject: Reply with quote

I'm afraid the layman for what you suggested is probably "Don't be a layman". XD I already tried replacing the accessing codes with "Code that does nothing", and when I did so, the game stopped registering kills on its own. That is, if I had ten kills so far, the eleventh kill wouldn't register. However, the only real problem at this point is that the kill counter is reset to 0 when I re-enter a dungeon, and this happens even when I find the access code for re-entering the dungeon and replace that with code that does nothing. I'm afraid that if by "Code Injections" you mean something more than that, I'll just have to make do, 'cause I doubt whether I have the capacity to figure out anything more sophisticated XD Thanks for your time, though.
Back to top
View user's profile Send private message
Alamer99
Expert Cheater
Reputation: 1

Joined: 04 Jan 2015
Posts: 136

PostPosted: Sat Jun 13, 2015 3:52 pm    Post subject: Reply with quote

You Dont Quite Get The Idea

Code Injecting is NOT Just NOP There Are So Many More Things To Do

Find What Writes/Accesses The Value When It Increases

For Example Lets Say You Got
Code:
mov [ebx+4],edx

Then do code injecting
Code:
mov edx,#255
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Sat Jun 13, 2015 4:40 pm    Post subject: Reply with quote

Alamer99 wrote:
You Dont Quite Get The Idea

Code Injecting is NOT Just NOP There Are So Many More Things To Do

Very well said, please understand that when you nop something, you are literally telling it to do NOTHING, hell, they even tell you, "Code that does nothing". Imagine if you work on an assembly line in a car factory (lines of code), the guy behind you designs the frame before passing it to you (instruction before injection point), your job is to put the company supplied engine in (your injection point), and the rest (every line of code after) is up to everyone else down the line. At the end of the line, we have a finished, fully functional car. Suddenly your supervisor tells you to stop working (nopping an instruction), so now a frame arrives at your station, and you just pass it along, everyone else down the line does their job and at the end of this cycle, we have a car... but this time, with no engine (messed up data). BUT, with code injection, you DO your job, but you put in a DIFFERENT engine (your replacement code / cheat) in then the one the company supplied. So now at the end of the assembly line, we again have a finished, fully functional car, but this time, it either has a kickass engine or a shitty one depending on what you did to it, hope that was a good analogy Wink
Back to top
View user's profile Send private message
Kyokyonos
Newbie cheater
Reputation: 0

Joined: 14 Apr 2009
Posts: 19

PostPosted: Tue Jun 16, 2015 10:32 pm    Post subject: Reply with quote

BlackMoogle1234 wrote:
I'm afraid the layman for what you suggested is probably "Don't be a layman". XD I already tried replacing the accessing codes with "Code that does nothing", and when I did so, the game stopped registering kills on its own. That is, if I had ten kills so far, the eleventh kill wouldn't register. However, the only real problem at this point is that the kill counter is reset to 0 when I re-enter a dungeon, and this happens even when I find the access code for re-entering the dungeon and replace that with code that does nothing. I'm afraid that if by "Code Injections" you mean something more than that, I'll just have to make do, 'cause I doubt whether I have the capacity to figure out anything more sophisticated XD Thanks for your time, though.


From the sounds of it, it seems that the game is allocating and using a new variable for the "kill count" every time you enter a dungeon.

What you need to do is make note of the instruction that you NOP'd and noticed the kill count stopped increasing (which I somehow feel uneasy about given that it's an emulator). Although the address is changing, the code to modify the kill count is most likely the same.

If the instruction is in your code list ("advanced options") then you need to disassemble the address (which should open memory viewer with the relevant instruction highlighted by default), open the Auto Assembly menu (CTRL+A), choose the "cheat table framework code" template (CTRL+ALT+T) followed by CTRL+I for code injection (address should be automatically filled in allowing you to press "OK").

If you post the generated template code from this point (assuming the instruction you mentioned even exists), I'm sure we all could help you achieve the desired effect.

*cough*
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 473

Joined: 09 May 2003
Posts: 25909
Location: The netherlands

PostPosted: Wed Jun 17, 2015 2:53 am    Post subject: Reply with quote

it's an emulwtor so nop won't work
best thing you can do is a code injection and then inspect the stack to determine if it should be skipped or not (the stack most likely contains a direct or indirect reference to the current program counter)

also, if the code you find isn't part of a module it's possible it got jitted. If that's the case a nop could work. You'll then have to write an aobscan to automatically find it

_________________
Tools give you results. Knowledge gives you control.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
DeniedAnal
How do I cheat?
Reputation: 0

Joined: 12 Jun 2015
Posts: 6

PostPosted: Thu Jun 18, 2015 12:04 pm    Post subject: Reply with quote

Why doesn't nop work in emulators?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 473

Joined: 09 May 2003
Posts: 25909
Location: The netherlands

PostPosted: Thu Jun 18, 2015 12:15 pm    Post subject: Reply with quote

because the code you'll find is the code used to change a memory address in the emulated memory, not just the one specific address you're interested in.

If you nop that, then not a single address will ever change. e.g sound, pixel colors, position, keyboard buffer, etc...etc...etc... would never change

_________________
Tools give you results. Knowledge gives you control.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites