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 


[TuT] for Emulators/Roms easy to follow steps.
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials
View previous topic :: View next topic  

Did you find this useful?
Yes
82%
 82%  [ 14 ]
No
17%
 17%  [ 3 ]
Total Votes : 17

Author Message
saintx18
How do I cheat?
Reputation: 0

Joined: 03 Aug 2009
Posts: 9

PostPosted: Thu Dec 10, 2009 3:17 am    Post subject: [TuT] for Emulators/Roms easy to follow steps. Reply with quote

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
View user's profile Send private message
KGM1973
How do I cheat?
Reputation: 0

Joined: 15 May 2013
Posts: 4

PostPosted: Thu May 16, 2013 8:04 am    Post subject: Re: [TuT] for Emulators/Roms easy to follow steps. Reply with quote

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")? Wink Well, I'll let you know if it works, and thanks again for your EXCELLENT tutorial! Very Happy

_________________
Thanks and take care!

-- KGM1973
Back to top
View user's profile Send private message
SinStar87
Master Cheater
Reputation: 7

Joined: 23 Sep 2010
Posts: 420

PostPosted: Thu May 16, 2013 8:22 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
KGM1973
How do I cheat?
Reputation: 0

Joined: 15 May 2013
Posts: 4

PostPosted: Thu May 16, 2013 8:31 am    Post subject: Reply with quote

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.) Very Happy

_________________
Thanks and take care!

-- KGM1973
Back to top
View user's profile Send private message
Lord Blade
Grandmaster Cheater
Reputation: 0

Joined: 29 Mar 2010
Posts: 736

PostPosted: Fri Mar 25, 2016 6:30 am    Post subject: Reply with quote

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
View user's profile Send private message
Cake-san
Grandmaster Cheater
Reputation: 8

Joined: 18 Dec 2014
Posts: 541
Location: Semenanjung

PostPosted: Fri Mar 25, 2016 7:20 am    Post subject: Reply with quote

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
View user's profile Send private message
Lord Blade
Grandmaster Cheater
Reputation: 0

Joined: 29 Mar 2010
Posts: 736

PostPosted: Fri Mar 25, 2016 8:17 am    Post subject: Reply with quote

I was searching using All.
Back to top
View user's profile Send private message
Cake-san
Grandmaster Cheater
Reputation: 8

Joined: 18 Dec 2014
Posts: 541
Location: Semenanjung

PostPosted: Fri Mar 25, 2016 8:33 am    Post subject: Reply with quote

Lord Blade wrote:
I was searching using All.

Setting->Scan Settings-> make sure the 2 bytes is checked. -_-

_________________
...
Back to top
View user's profile Send private message
Lord Blade
Grandmaster Cheater
Reputation: 0

Joined: 29 Mar 2010
Posts: 736

PostPosted: Fri Mar 25, 2016 8:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cake-san
Grandmaster Cheater
Reputation: 8

Joined: 18 Dec 2014
Posts: 541
Location: Semenanjung

PostPosted: Sun Mar 27, 2016 7:36 am    Post subject: Reply with quote

Actually, the credits in Starflight is 4 bytes variable.
The other 2 bytes is backward. Laughing

_________________
...
Back to top
View user's profile Send private message
Lord Blade
Grandmaster Cheater
Reputation: 0

Joined: 29 Mar 2010
Posts: 736

PostPosted: Sun Mar 27, 2016 3:04 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cake-san
Grandmaster Cheater
Reputation: 8

Joined: 18 Dec 2014
Posts: 541
Location: Semenanjung

PostPosted: Sun Mar 27, 2016 5:56 pm    Post subject: Reply with quote

Lord Blade wrote:
Er... okay, now I'm confused.

Backward?
When I do a search, I can't find a credit value under 4 byte.


Let say your money is 50000 ,then the hex form will be C350.
When your money is 4178768 , it will be write/read like this : C350003F

If the address is 053E3208 ,then you should subtract that address by 2 and it will be 053E3206 so that you can be able to change/see the remaining bytes.

Did this sufficient for your understanding? Confused

_________________
...
Back to top
View user's profile Send private message
Lord Blade
Grandmaster Cheater
Reputation: 0

Joined: 29 Mar 2010
Posts: 736

PostPosted: Sun Mar 27, 2016 7:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 138

Joined: 06 Jul 2014
Posts: 4275

PostPosted: Sun Mar 27, 2016 11:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
PinPoint
Expert Cheater
Reputation: 10

Joined: 07 Apr 2016
Posts: 223
Location: Scotland

PostPosted: Wed Apr 13, 2016 6:56 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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