View previous topic :: View next topic |
Author |
Message |
Henixer How do I cheat? Reputation: 0
Joined: 17 Feb 2013 Posts: 2 Location: Bulgaria
|
Posted: Sun Feb 17, 2013 12:15 pm Post subject: How to hack RPG maker VX ace or VX |
|
|
Games with RPG VX ACE or normal VX
like Sword art Online Eternal world
or SAO-RD???
|
|
Back to top |
|
|
barsik Newbie cheater Reputation: 0
Joined: 19 Feb 2013 Posts: 11
|
Posted: Tue Feb 19, 2013 4:06 pm Post subject: |
|
|
Search for value*2+1. So if you're looking for 123 gold that you want to change, search for 247.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Tue Feb 19, 2013 4:29 pm Post subject: |
|
|
If that's true then if you're lazy you can just use the binary type to find it
Just wondering, is it always +1 ? Are there cases where it's just *2? Because what you describe is just a bitshift by 1 and there's a random bit in front of it
Here's a custom type (adapted from my *8 custom type) that may work with this thing
Code: |
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(PreferedAlignment, 4)
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
TypeName:
db 'RPG VX type',0
ByteSize:
dd 4
PreferedAlignment:
dd 1
//The convert routine should hold a routine that converts the data to an nteger (in eax)
//function declared as: stdcall int ConvertRoutine(unsigned char *input);
//Note: Keep in mind that this routine can be called by multiple threads at the same time.
ConvertRoutine:
[32-bit]
push ebp
mov ebp,esp
push ecx
mov ecx,[ebp+8]
[/32-bit]
//at this point ecx contains the address where the bytes are stored
//put the bytes into the eax register
mov eax,[ecx] //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time)
shr eax,1 //shift right by 1 bit (divide by 2)
//and now exit the routine
[64-bit]
ret
[/64-bit]
[32-bit]
pop ecx
pop ebp
ret 4
[/32-bit]
//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value)
//function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output);
ConvertBackRoutine:
[32-bit]
push ebp
mov ebp,esp
push edx //save the registers
push ecx
mov edx,[ebp+0c]
mov ecx,[ebp+08]
[/32-bit]
//at this point edx contains the address to write the value to
//and ecx contains the value
push eax
push edx
mov edx,[edx] //edx now contains the original value
and edx,1 //only save the first bit
mov eax,ecx //eax gets the user input value
shl eax,1 //shift left by 1 bit (multiply by 2)
or eax,edx //add the bits of the original value
pop edx
mov [edx],eax //write the new value into the old value
pop eax
[64-bit]
//everything is back to what it was, so exit
ret
[/64-bit]
[32-bit]
//cleanup first
pop ecx
pop edx
pop ebp
ret 8
[/32-bit]
|
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Henixer How do I cheat? Reputation: 0
Joined: 17 Feb 2013 Posts: 2 Location: Bulgaria
|
Posted: Tue Feb 19, 2013 4:45 pm Post subject: |
|
|
How to do this ? i can't work with Cheat engine I am a noob
soo can you send me a tutorial video or something so i can see how to make it and work on it
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Tue Feb 19, 2013 5:36 pm Post subject: |
|
|
Well, easiest method is just type in as value "value*2+1" ce will interpret it for you and scan for the correct value.
Second easiest method is just select as type "binary" and scan for the value (but it doesn't support changed/unchanged) scans)
But if you wish to use this custom type (so you don't have to do that *2 stuff) then do the following:
Start ce
open any process
rightclick the "value type" combobox
click "define new custom type (autoassemble)"
replace the existing script with the script posted here
and click OK
From now on you can select as variable type "RPG VX Type" and just scan for the values and edit them as well
CE will remember this type so it will be usable next time you start ce
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
tottiy Newbie cheater Reputation: 0
Joined: 29 Jul 2013 Posts: 14
|
Posted: Mon Jul 29, 2013 6:04 pm Post subject: |
|
|
it doesn't work with TP and some other things
|
|
Back to top |
|
|
Mac08 How do I cheat? Reputation: 0
Joined: 01 Nov 2013 Posts: 1
|
Posted: Fri Nov 01, 2013 9:35 pm Post subject: |
|
|
how about on exp?
can you teach me?
tnx to the code that you gave. it works~
|
|
Back to top |
|
|
gaser20 How do I cheat? Reputation: 0
Joined: 24 Jul 2012 Posts: 8
|
Posted: Thu Oct 23, 2014 3:09 am Post subject: |
|
|
Am I doing something wrong? Every time I try it causes the game to crash.
|
|
Back to top |
|
|
Seipher Cheater Reputation: 0
Joined: 21 Nov 2011 Posts: 30
|
Posted: Thu Oct 23, 2014 4:33 pm Post subject: |
|
|
I was curious on this as well. I can freeze values, but if i so much as edit them by even 1, it instantly crashes. Is there a way to prevent it from crashing or is that something wrong on the game side? Ive tried this with different games and they all crash.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Oct 23, 2014 4:44 pm Post subject: |
|
|
freezing is exactly the same as writing.
It sounds more like you're setting bits you should not touch.
Is the value you see exactly the value you see on the screen, or do you still need to use some calculation for it ?
If so, it's likely you are changing bits of a value unrelated to the one you want to change.
If it's still that *2+1 thing (or just general *2) then I really recommend using that custom type I posted earlier(, or binary) as that will protect you from setting bits that are not part of the value you are changing
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Seipher Cheater Reputation: 0
Joined: 21 Nov 2011 Posts: 30
|
Posted: Thu Oct 23, 2014 4:58 pm Post subject: |
|
|
Ah i never thought of that, i always just added 1 to the value. ill give your custom script a try and see if it still crashes.
*EDIT* Oh nice, it didnt crash with your custom searcher. Thanks alot
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Oct 23, 2014 5:01 pm Post subject: |
|
|
ah, good(never tested it myself)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
gaser20 How do I cheat? Reputation: 0
Joined: 24 Jul 2012 Posts: 8
|
Posted: Thu Oct 23, 2014 10:09 pm Post subject: |
|
|
Once using the script it worked without crashing. With this in mind, I'd say that CE can't edit the value without the script. Who can we poke to make it a standard plugin or something similar for CE?
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Fri Oct 24, 2014 12:38 am Post subject: |
|
|
look into registerCustomTypeAutoAssembler
and an example that makes use of it : http://forum.cheatengine.org/download.php?id=103138
you can also embed it into cheat tables in the lua section, or as the first entry of a cheat table (that says activate me first)
using the {$lua} section in empty auto assembler scripts
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Arjumand How do I cheat? Reputation: 0
Joined: 27 Oct 2014 Posts: 1 Location: Uk
|
|
Back to top |
|
|
|