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 


[Resolved] [Question] This code can't compile in AA!?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
gaming04
Expert Cheater
Reputation: 0

Joined: 06 Dec 2010
Posts: 189

PostPosted: Wed Aug 03, 2011 9:11 am    Post subject: [Resolved] [Question] This code can't compile in AA!? Reply with quote

Code:

mov [[[[["Tutorial-x86_64.exe"+001FD750]+10]+18]+0]+18],(int)1


What's wrong with this code?


Last edited by gaming04 on Fri Aug 05, 2011 2:42 am; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Wed Aug 03, 2011 10:34 am    Post subject: Reply with quote

try:
Code:

[[[["Tutorial-x86_64.exe"+001FD750]+10]+18]+0]+18:
dd 1


alternatively:
Code:

push rax
mov rax,["Tutorial-x86_64.exe"+001FD750]
mov rax,[rax+10]
mov rax,[rax+18]
mov rax,[rax+0]
mov [rax+18],(int)1

pop rax

and then make sure that code is executed using a hook in the code or createthread

I'd go with the first method though

_________________
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
View user's profile Send private message MSN Messenger
gaming04
Expert Cheater
Reputation: 0

Joined: 06 Dec 2010
Posts: 189

PostPosted: Wed Aug 03, 2011 1:22 pm    Post subject: Reply with quote

This code isn't working either:
Code:

cmp byte ptr [[edx+148]+2af],64


Is there any other way I can temper with at least, second level pointers?
Perhaps I can store a pointer into an allocated space, but that is not really practical.
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Wed Aug 03, 2011 2:11 pm    Post subject: Reply with quote

you do this in the form of
Code:

push eax
mov eax,[edx+148]
cmp byte ptr [eax+2af],64
pop eax //pop does not affect flags

jxx bla

_________________
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
View user's profile Send private message MSN Messenger
gaming04
Expert Cheater
Reputation: 0

Joined: 06 Dec 2010
Posts: 189

PostPosted: Fri Aug 05, 2011 12:37 am    Post subject: Reply with quote

I used that method in a few games and have never been successful with that--other than having my game crash the moment I activate the script. I'm at a lost when it comes to pointers because every method I use just can't address the pointer, properly.

By the way, here's another code that did differently than expect:
Code:

mov qword ptr [rbx+780],(double)6000

Taken from [cheatengine-x86_64.exe], Step 4. When pressing decrease Ammo, the number jumps to -0.5 instead of the predefined amount: (double)6000.

I have attached my Cheat table made for your 64-bit tutorial here. Take a look at the script: Step 4 - 2. Apparently, the conversion code, (double), does not work correctly and/or I may be using it improperly.



cheatengine-x86_64.CT
 Description:

Download
 Filename:  cheatengine-x86_64.CT
 Filesize:  16.92 KB
 Downloaded:  563 Time(s)

Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Fri Aug 05, 2011 1:53 am    Post subject: Reply with quote

There is no qword instruction for specific value memory writes. This gets downgraded to a 32bit version.
Use:
mov rax,(double)9000
mov [rbx+780],rax

_________________
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
View user's profile Send private message MSN Messenger
gaming04
Expert Cheater
Reputation: 0

Joined: 06 Dec 2010
Posts: 189

PostPosted: Fri Aug 05, 2011 2:41 am    Post subject: Reply with quote

Silly code, without writing to a specific register, the conversion (double) would not do its magic. Thanks Dark Byte, apparently what I needed to learn to progress further in memory hacking is the use of Push and Pop.

I never got that to work until you presented a full example.
I will just note it here that (double) will not work without sending it into a register.

Pointer problems, apparently, require placing level 1 pointer into registers as well. I just finished writing a 3 level pointer using push and pop techniques, taking advantage of two registers.

Thanks for the help! Got a lot more to learn before I'm done with the basics.
Back to top
View user's profile Send private message MSN Messenger
Freiza
Grandmaster Cheater
Reputation: 22

Joined: 28 Jun 2010
Posts: 662

PostPosted: Mon Apr 02, 2012 10:54 am    Post subject: Reply with quote

If i write this code
mov rax,(double)9000
mov [rbx+780],rax

What will happen if I distribute my ct to the people having 32-bit OS and using 32 bit CE? Will it work properly then?

_________________
Back to top
View user's profile Send private message Send e-mail
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Mon Apr 02, 2012 11:37 am    Post subject: Reply with quote

Then absolutely nothing will happen as those people wouldn't be able to run the game in the first place. a 32-bit OS can not run a 64-bit program.

And if you did use that code on a 32-bit process, it wouldn't even work for you

If you wish to use qword writes in 64-bit use a storage for the value

alloc(storage,8)
storage:
dq (double)value

mov eax,[value]
mov [targetaddress],eax
mov eax,[value+4]
mov [targetaddress+4],eax

_________________
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
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