 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Did you find this useful? |
Yes |
|
82% |
[ 14 ] |
No |
|
17% |
[ 3 ] |
|
Total Votes : 17 |
|
Author |
Message |
saintx18 How do I cheat?
Reputation: 0
Joined: 03 Aug 2009 Posts: 9
|
Posted: Thu Dec 10, 2009 3:17 am Post subject: [TuT] for Emulators/Roms easy to follow steps. |
|
|
Before Reading:
Red is used for important values
Blue is used for important side notes and things to acknowledge
Open CE and select your emulator from the process list.
Open desired game.
(Use Exact Value for all scans)
Use the following Scan type (Byte) for: Ammo, Items, Levels, Stats, 1-Ups, Upgrades and Power-ups. (Sometimes HP/Energy Amounts)
Example 1 - Say you have 10 potions.
Step 1:Scan 10
Step 2:Use one
Step 3:Scan for 9
Step 4:Repeat 2&3 Till one or few addresses remain.
Step 5:You can either increase it to 99 or freeze the value
Example 2 - Energy (Super Metroid as an example).
Step 1:You have 99 Energy
Step 2:Take a hit
Step 3:Say you have 85 now Scan that
Step 4:Repeat 2&3 until you have Step 5
Step 5:you should have about 3 values left
Step 6,7 and 8:Select them > Freeze > God Mode On.
------------------------------------------------------------------
Use (2Bytes) for: Most of the time its money. Exp, HP, MP and Energy. Follow Example in 4byte below for money.
HP - just follow Example 2 above.
Example - EXP(For next Level used to get to next level faster)
Step 1: Say you have 256 (<-Scan) exp and you need 782 for your next level.
Step 2: Enter a Battle/Kill something and wait till the end of the fight.
Step 3: Check your status screen again... say... 362 is your new Value (676 needed for next level now)
Step 4: Scan it.
Step 5: Repeat 2,3&4 till 1 or few values remain.
Step 6: Add that value with remaining exp and subtract 1 and you'll only need 1 Exp (For Example 362 + 676 = 1038 - 1 = 1037)
Step 7: See Tips.
------------------------------------------------------------------
Use (4Bytes) for: Money (GP Gil Silver Whatever), Scores, Exp and other values that exceed 255 or 65535.
Example - Your score is... 0009450
Step 1:Enter Value 9450
Step 2:If more than 1 value comes up do the Following
Step 3:Kill something or whatever and end up with... 0010450
Step 4:Scan 10450
Step 5:Repeat 3&4
Step 6:Change to desired amount (If its score, Make it look legit if you wanna impress someone or beat a friend's score)
[(Money works the same way for above example) Replace Step 3 with: Earn or sell for money. Certain games use 2byte.]
---------------------------------------------------------------
Use (8byte) For: Scores.
Few games go over the billion mark [4byte (0-4,294,967,295)]
Extreme Pinball for PSX I think scores for one of the tables go up into the hundred billions. Not sure. Been a while. But just follow the Example from above and go impress your friends lol.
---------------------------------------------------------------
Use All (byte to double) if all else fails.
or
Unknown Value
---------------------------------------------------------------
Tips:
-For RPG games its better to hack the exp instead of levels so you get the full effect per level. Say if you skip from level 6 to 99. You'll miss out on everything in between. Such as acquired skills and such. So if you're up for a little challenge just skip to level 99 with no benefits.
-Name your addresses by using descriptions. Double click "No Description" and name it to anything that fits it. (e.g. 'Ammo = 9mm,etc' 'Score' 'Character Names: LockeStr, LockeHP, LockeEXP2byte, LockeEXP4byte' 'Money')
-SAVE! always save your work. Remember when you save. these turn into cheat tables, and you can share them with friends or amongst the community. Go To: Flie>Save or Ctrl+S (Shortcut) You may end up with a lot of values and it'll be a pain in the ass to do them all over again. I'm pretty sure the values stay the same since they aren't flash games. Game Shark and etc. use these values too. (Confirmed with FF3)
-Its worth all the work to build these CT's so you don't have to keep going back and entering Game Shark codes or w/e.
-Reason why I have exp in 2 byte and 4 byte is because when Exp and Exp needed for next level exceeds 65535 (e.g. Exp = 60422 and for next level = 5894 Comes out to 66316) The address changes and the Byte changes. Found this out with Final Fantasy 3. So you'll have to find the address again, but keep the old one still. You'll have a 2byte exp and a 4byte exp.
---------------------------------------------------------------
This guide should work for most console based emulators, if not its mainly for SNES then. If anyone can confirm it works for other emulators go for it. I'm too lazy. Ill experiment with PSX and such if I have the time. N64 will be the next thing I try. Hopefully this guide was easy to follow.
Any errors, typos, or whatever let me know. If you want to add anything to this guide feel free to PM me.
Update: Works with Mupen64 so its obvious it works for any emulator. Confirmed on Legend of Zelda Majora's Mask: You can freeze rupees, arrows, bombs etc. Increased my rupees in the bank to 5000. May be possible to freeze time and life. I haven't tried.
Update2: Doesn't work with Visual Boy Advance, because Visual Boy Advance has a built in memory reader and ram search.
Short Tutorial on the Ram/Cheat search here:
Code: | http://vba[Dot]ngemu[Dot]com/faq.shtml#cat3_0 |
Sorry about the [Dot] just replace it. Can't post urls yet.
Also Note that: If you can't find an address be sure to check other byte scans. A value under 256 can be in 4byte scans. Anythings possible. This is how the ram/cheat search works on VBA
Useful way of scanning on VBA if you can't find what you're looking for. Go by # of changes. There's an option you check called "Changes" Next to it is a box you type in the # your value changed. So... Say if you bought something your value changed once so you put 1, then click search and repeat the steps till 1 or few values remain.
With the ram search function on VBA you can switch between byte types to find what you're looking for. If you have a value over 256 on 1byte it'll appear as a negative number say its like 500 it could be -244 and on 4 byte it'll show as a random number. When you add the value it'll move to the "Cheat List" so you can enable and disable at will.
Something I forgot to add: It makes everything easier on Cheat Engine if you scan something 256, and below at 1 byte, and its something like exp, or money. You can right click the value in the box below and switch it to a 4byte type and enter any desired amount
|
|
Back to top |
|
 |
KGM1973 How do I cheat?
Reputation: 0
Joined: 15 May 2013 Posts: 4
|
Posted: Thu May 16, 2013 8:04 am Post subject: Re: [TuT] for Emulators/Roms easy to follow steps. |
|
|
Hello saintx18,
Thank you VERY much for your EXCELLENT tutorial! Yes, this would DEFINITELY apply to me (as I'm using the VICE Commodore 64 emulator on my Windows XP machine, using a game ROM entitled "Might and Magic 2: Gates to Another World").
My initial post was under the ROLEPLAYING section, entitled: Might and Magic 2: Gates to Another World (Commodore 64) . When I read YOUR tutorial, I didn't really think that it would be able to assist me in locating the values I want to change (character statistics, which are MOSTLY static values). However, I read ALL the way down and you stated:
"Something I forgot to add: It makes everything easier on Cheat Engine if you scan something 256, and below at 1 byte, and its something like exp, or money. You can right click the value in the box below and switch it to a 4byte type and enter any desired amount"
Thanks! That MIGHT assist me with altering the characters' remaining statistics (6 characters total, with 7 statistics/character and a total of 42 values). Thus far, I SOMEHOW "stumbled" upon successfully altering 3 values between 2 characters (maybe I just got "lucky")? Well, I'll let you know if it works, and thanks again for your EXCELLENT tutorial!
_________________
Thanks and take care!
-- KGM1973 |
|
Back to top |
|
 |
SinStar87 Master Cheater
Reputation: 7
Joined: 23 Sep 2010 Posts: 420
|
Posted: Thu May 16, 2013 8:22 am Post subject: |
|
|
Worth noting that earlier systems(snes) and some games on later systems, use reverse address bytes(I don't know/remember the technical term) normal example, you have a value of 255 in game 00000001 will be 255 00000002 will be 0, a value of 256 00000001 will be 0 and 00000002 will be 1. Example of what I'm talking about you have a value of 255 in game 00000001 will be 0 00000002 will be 255, a value of 256 00000001 will be 1 and 00000002 will be 0. 2 byte 255 normal example 00000001 will be 255. What I'm talking about 255 example 00000001 will be 65280.
|
|
Back to top |
|
 |
KGM1973 How do I cheat?
Reputation: 0
Joined: 15 May 2013 Posts: 4
|
Posted: Thu May 16, 2013 8:31 am Post subject: |
|
|
Hello saintx18,
I just wanted to let you know that I've successfully located and altered another statistic value. However, I selected 1 Byte for the value type (as you stipulated at the bottom of your post) and changed it to a 2 Bytes value (NOT a 4 Bytes value). Who knows? Maybe it's the way that THIS particular game is; nonetheless, it's operating correctly. Also, as I mentioned in my initial post in the ROLEPLAYING section, ALL of the values, THUS FAR, tend to be within a SPECIFIC memory range. Therefore, with selecting 1 Byte as the value type, it'll DEFINITELY help me narrow down my results a LOT better! Once again, thanks for your EXCELLENT tutorial! (Also, if anyone else reads this and what I've posted here, it MAY also benefit them.)
_________________
Thanks and take care!
-- KGM1973 |
|
Back to top |
|
 |
Lord Blade Grandmaster Cheater
Reputation: 0
Joined: 29 Mar 2010 Posts: 736
|
Posted: Fri Mar 25, 2016 6:30 am Post subject: |
|
|
So I was bored and popped open Gens to run Starflight.
I tried using CE to find the credits value, but I couldn't seem to find a thing. Is there any specific trick to it?
|
|
Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
Posted: Fri Mar 25, 2016 7:20 am Post subject: |
|
|
Lord Blade wrote: | So I was bored and popped open Gens to run Starflight.
I tried using CE to find the credits value, but I couldn't seem to find a thing. Is there any specific trick to it? |
2 bytes
_________________
... |
|
Back to top |
|
 |
Lord Blade Grandmaster Cheater
Reputation: 0
Joined: 29 Mar 2010 Posts: 736
|
Posted: Fri Mar 25, 2016 8:17 am Post subject: |
|
|
I was searching using All.
|
|
Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
Posted: Fri Mar 25, 2016 8:33 am Post subject: |
|
|
Lord Blade wrote: | I was searching using All. |
Setting->Scan Settings-> make sure the 2 bytes is checked. -_-
_________________
... |
|
Back to top |
|
 |
Lord Blade Grandmaster Cheater
Reputation: 0
Joined: 29 Mar 2010 Posts: 736
|
Posted: Fri Mar 25, 2016 8:12 pm Post subject: |
|
|
Ah, okay. I didn't realize that "All" wasn't actually searching everything.
So I found the value I wanted under 2 byte, however I need to get more than what 2 bytes can handle.
I'm playing Starflight specifically, and there's stuff that costs 500000. I can't got over the 65k thing though. So how do I get more?
EDIT:
Having the same issue with Warriors of the Eternal Sun.
Did a search for XP. For two characters, I find 1/2/4/8 byte values, while for the other two I only find 1/2 bytes.
The XP needed gets well over 100k, so how can I change the values properly? With 2 bytes, I can't go over the 65k cap, and if I try to change the type to 4 bytes, the values don't work anymore (it shows the character needing the 65k value to level and they don't gain any more XP).
|
|
Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
|
Back to top |
|
 |
Lord Blade Grandmaster Cheater
Reputation: 0
Joined: 29 Mar 2010 Posts: 736
|
Posted: Sun Mar 27, 2016 3:04 pm Post subject: |
|
|
Er... okay, now I'm confused.
Backward?
When I do a search, I can't find a credit value under 4 byte.
|
|
Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
|
Back to top |
|
 |
Lord Blade Grandmaster Cheater
Reputation: 0
Joined: 29 Mar 2010 Posts: 736
|
Posted: Sun Mar 27, 2016 7:05 pm Post subject: |
|
|
Okay, I think I get it.
Essentially the first address is "full" by the game's limits, so it starts using a second to keep track of the increased value. It's that second I need to edit.
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 150
Joined: 06 Jul 2014 Posts: 4647
|
Posted: Sun Mar 27, 2016 11:18 pm Post subject: |
|
|
So, the upper word is in big-endian, but the lower word is in little-endian? That's weird.
Anyway, here's a custom AA type for that if you want it:
Code: | alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(UsesFloat,1)
alloc(CallMethod,1)
TypeName:
db '4 Bytes (upper word swap)',0
ByteSize:
dd 4
UsesFloat:
db 0
CallMethod:
db 1
ConvertRoutine:
[64-bit]
mov eax,[rcx]
[/64-bit]
[32-bit]
mov eax,[esp+8]
mov eax,[eax]
[/32-bit]
rol eax,10
xchg ah,al
ror eax,10
ret
ConvertBackRoutine:
[64-bit]
rol ecx,10
xchg ch,cl
ror ecx,10
mov [r8],ecx
ret
[/64-bit]
[32-bit]
push ebp
mov ebp,esp
//[ebp+8]=input
//[ebp+c]=address
//[ebp+10]=address of output
push eax
push ebx
mov eax,[ebp+8]
mov ebx,[ebp+10]
rol eax,10
xchg ah,al
ror eax,10
mov [ebx],eax
pop ebx
pop eax
pop ebp
ret
[/32-bit] |
Right click on the "Value Type" box, click on define new custom type (AA), delete everything, paste this in, and you should be good.
I'd still recommend setting "fast scan" to an alignment of 2, despite this being a 4-byte value. It seems like the game is treating this as two separate words instead of a single one.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
PinPoint Expert Cheater
Reputation: 10
Joined: 07 Apr 2016 Posts: 223 Location: Scotland
|
Posted: Wed Apr 13, 2016 6:56 am Post subject: |
|
|
In terms of FFVII just searching and filtering the value you see wouldn't work for items.
It uses 2 bytes of information for every item (usable/armour/weapon etc). and there are around 310 items in total.
Usually in most games like final fantasy the potion is the very first item with a 00 value. so you could search for 0 then increased on another item and back to 0 with the potion. assuming you are using the first item slot, this would give you the address for that(where the value corresponds to the item type).
The next byte is the amount of said item. However, with FFVII its not as simple as just what you see. As there are more than 255 items, more than 2 bytes would usually be required to hold the item information. (item id and amount) FFVII gets round this and keeps its 2 byte system by using an odd/even or doubling/doubling +1 method of the value.
For example, say you have a 2 potions in the first slot, the corresponding bytes will read 00 04. this means there are 2 potions in the slot. if it were 00 198 this would mean there are 99 potions in the slot.
How would it signify the 256th item then? just +1 to the amount byte. so 00 04 changing to 00 05 would mean 4 iron bangles in the slot as the iron bangle is the 256th item. so odd values are used for items 256-310 and even values are use for items 0-255.
Just anothter method of how items are stored I thought i would mention.
|
|
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
|
|