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 


Question Assembly
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions
View previous topic :: View next topic  
Author Message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Thu May 22, 2014 12:19 am    Post subject: Question Assembly Reply with quote

hello friends, im still learning assembly

my question here is:
is it possible to code in assembly a direct address or pointer
and change its value just like clicking change value in the cheat table?

if so how?

why i ask about this?
because the game im trying to cheat on has CRC , and im using
a custom script to bypass the check, so i can only make changes by assembly using this script
anything that i change by double clicking value will dc crash the game...

any example will be appreciated

here is an example of what i want to do

address 014C8368 4byte value 3162

how can i change its value in assembly?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Thu May 22, 2014 12:30 am    Post subject: Reply with quote

Yes, but it's usually the other way around (assembly code crashes the game, but direct altering of values doesn't). If directly altering a value crashes the game, there may be additional checks being performed that constantly compare the value against itself (e.g. if the value at first check was 4 and value at next check was 100, the difference is 96...which is impossible...so initiate crash etc.). If the game is online, the server could be doing the compare and forcing a crash because the data doesn't match.

Anyway, if this is happening, a script will not help you unless you can find where the compare is occurring (if online, forget it).

To answer your question...

There are several ways to do it, but first, I would just test it by creating a simple script that locks the value to see if altering via a script will even work.
Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Thu May 22, 2014 10:00 am    Post subject: Reply with quote

++METHOS wrote:
Yes, but it's usually the other way around (assembly code crashes the game, but direct altering of values doesn't). If directly altering a value crashes the game, there may be additional checks being performed that constantly compare the value against itself (e.g. if the value at first check was 4 and value at next check was 100, the difference is 96...which is impossible...so initiate crash etc.). If the game is online, the server could be doing the compare and forcing a crash because the data doesn't match.

Anyway, if this is happening, a script will not help you unless you can find where the compare is occurring (if online, forget it).

To answer your question...

There are several ways to do it, but first, I would just test it by creating a simple script that locks the value to see if altering via a script will even work.


already bypassed the CRC by assembly by using stealthedit plugin already played with it already make the hack to work, but im not looking to code a full script for something i just need a simple value change

like a said i have in the CT address 014cfdd8 its 4byte and its value is 3278


i just need an assembly script to change its value, something like

mov [014cfdd8],(int)3279

but idk i cant make it to work
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Thu May 22, 2014 1:06 pm    Post subject: Reply with quote

Anaxor wrote:
already played with it already make the hack to work
-So what's the problem?

Anyway, there are several ways you can do it, depending on what you want. Do you want to be able to set the value to anything you want, or do you just want to be able to lock the value to the same number every time?

Let CE build the script for you and copy/paste your code here. Make sure you have 'show module addresses' checked.

Alternatively, something simple:

Code:
[ENABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd FFFFFFFF

[DISABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd 00000000
Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Thu May 22, 2014 5:59 pm    Post subject: Reply with quote

++METHOS wrote:
Anaxor wrote:
already played with it already make the hack to work
-So what's the problem?

Anyway, there are several ways you can do it, depending on what you want. Do you want to be able to set the value to anything you want, or do you just want to be able to lock the value to the same number every time?

Let CE build the script for you and copy/paste your code here. Make sure you have 'show module addresses' checked.

Alternatively, something simple:

Code:
[ENABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd FFFFFFFF

[DISABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd 00000000


i want to set the value to anything i want, not just a fixed value


[ENABLE]
stealthedit(Map,008B401B,5)
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
registersymbol(staddy)
label(staddy)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [eax],(int)5005
mov ecx,[ebp-04]

exit:
jmp returnhere

Map:
staddy:
jmp newmem
returnhere:

[DISABLE]
dealloc(newmem)
staddy:
mov [eax],ecx
mov ecx,[ebp-04]

the address that i want to change the value is 014cfdd8 it shows the value of map id

the script is made for the address 008B401B it writes into 014cfdd8

but isn't there a way to just simple change the value of 014cfdd8 like in the cheat table?

[ ] Map hack 014cfdd8 4byte 2543

if i edit 5005 in the CT it will DC because of CRC
using stealthedit plugin in assembly will no dc me when this value change

i just want to edit directly the address 014cfdd8 value in assembly how can i do that?[/code]
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Thu May 22, 2014 6:36 pm    Post subject: Reply with quote

If you're not going to use module addresses (or can't), then you really should use AOB unless you know for sure that the address does not change.

Anyway, you can try this:



Table.CT
 Description:

Download
 Filename:  Table.CT
 Filesize:  1.69 KB
 Downloaded:  554 Time(s)

Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Thu May 22, 2014 8:16 pm    Post subject: Reply with quote

and how do i use AOB?

tried doing

[Enable]
stealthedit(Map,014cfdd8,6)

Map:
08

[Disable]
014cfdd8:
01

i want to change the stealthedit value

if i just do 014cfdd8 db 08 i will dc

how can i use it in aob?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Fri May 23, 2014 12:39 am    Post subject: Reply with quote

[sigh] Did it work?
Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Fri May 23, 2014 9:43 am    Post subject: Reply with quote

no it didnt work the aob didnt change

do you know a way to change the

aob while using stealthedit plugin?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Fri May 23, 2014 10:03 am    Post subject: Reply with quote

You're not making sense. The script that I posted did not contain AOB. I am asking if that script worked.

Yes, I know how to implement AOB with stealthedit.
Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Mon May 26, 2014 2:24 pm    Post subject: Reply with quote

yes it worded, but im not asking to do that...

what i want is just to change the value of an specific address while stealthedit

i know that the address 014cfdd8 value is 1 i want to change it o 8 or whatever

i dont want o see which address it writes into it.... i just want to directly change the value of 014cfdd8 not what 008B401B writes...
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Mon May 26, 2014 3:49 pm    Post subject: Reply with quote

Clearly, there is a language barrier here. Really, I do not like wasting my time.

You can try this (untested approach):



TABLE.ct
 Description:

Download
 Filename:  TABLE.ct
 Filesize:  4.19 KB
 Downloaded:  469 Time(s)

Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Mon May 26, 2014 10:52 pm    Post subject: Reply with quote

++METHOS wrote:
Clearly, there is a language barrier here. Really, I do not like wasting my time.

You can try this (untested approach):


yes it is working

tried to edit the addresses to this:

Code:
[ENABLE]
stealthedit(cave,0148F9D0,40)
registersymbol(value)
label(value)

cave:
0148F9D0:
value:
dd 0

[DISABLE]
0148F9D0:
dd 00000766

unregistersymbol(value)



and the game crash, tried to do it like this


Code:
[ENABLE]
stealthedit(cave,0148F9D0,40)
registersymbol(value)
label(value)

cave:
value:
dd 0

[DISABLE]
0148F9D0:
dd 00000766


the value changes in the copy address value, but it doesn't affect the actual value i want to change
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4196

PostPosted: Tue May 27, 2014 12:13 am    Post subject: Reply with quote

Probably because...like I said before...a check is being performed on the value itself.

If you manually alter a value (and you know, 100%, that it is the correct address) and the game crashes...then it's probably because of anti-cheat/server-sided security checks etc.

But...since you refuse to listen...you continue to waste people's time.
Back to top
View user's profile Send private message
Anaxor
Newbie cheater
Reputation: 0

Joined: 11 Aug 2007
Posts: 17

PostPosted: Tue May 27, 2014 12:39 am    Post subject: Reply with quote

++METHOS wrote:
Probably because...like I said before...a check is being performed on the value itself.

If you manually alter a value (and you know, 100%, that it is the correct address) and the game crashes...then it's probably because of anti-cheat/server-sided security checks etc.

But...since you refuse to listen...you continue to waste people's time.


but i did this with the write address and it works...

Code:

[ENABLE]
stealthedit(Map,00463f68,9)
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
registersymbol(staddy)
label(staddy)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov ecx,[ebp+08]
mov [eax+00012108],C350     // edited this

exit:
jmp returnhere

Map:
staddy:
jmp newmem
nop
nop
nop
nop
returnhere:

[DISABLE]
dealloc(newmem)
staddy:
mov ecx,[ebp+08]
mov [eax+00012108],ecx


and the value of the address i wanted changed, why cant i just change the value directly?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions 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