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 


value sync

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

Joined: 05 Nov 2014
Posts: 130

PostPosted: Thu Feb 19, 2015 10:22 am    Post subject: value sync Reply with quote

I know that you can synchronize the value of 2 addresses by using
Code:
(Address1)
as value for address2, but is there any way to synchronize the values of 2 addresses from different processes?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

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

PostPosted: Thu Feb 19, 2015 11:00 am    Post subject: Reply with quote

Yes, use 2 ce's and make use of a named shared memory block. Use ce1 to sync a pointer to that block and ce2 to sync a pointer with the value of that block
I cant give better details right now as I'm on a phone, but just ask to remind me when I grt home

edit:
Code:
 
allocateSharedMemory(name, size):
  Creates a shared memory object of the given size if it doesn't exist yet. If size is not given and there is no shared region with this name then the default size of 4096 is used
  It then maps this shared memory block into the currently targeted process. It returns the address of mapped region in the target process

_________________
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
LastExceed
Expert Cheater
Reputation: 1

Joined: 05 Nov 2014
Posts: 130

PostPosted: Thu Feb 19, 2015 4:35 pm    Post subject: Reply with quote

Dark Byte wrote:
Yes, use 2 ce's and make use of a named shared memory block. Use ce1 to sync a pointer to that block and ce2 to sync a pointer with the value of that block
I cant give better details right now as I'm on a phone, but just ask to remind me when I grt home

edit:
Code:
 
allocateSharedMemory(name, size):
  Creates a shared memory object of the given size if it doesn't exist yet. If size is not given and there is no shared region with this name then the default size of 4096 is used
  It then maps this shared memory block into the currently targeted process. It returns the address of mapped region in the target process


thanks Smile


Last edited by LastExceed on Wed Mar 18, 2015 6:46 pm; edited 1 time in total
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Thu Feb 19, 2015 5:20 pm    Post subject: Reply with quote

@DB, Is it possible with LuaPipe?

I tried it some time ago. Without success.

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

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

PostPosted: Thu Feb 19, 2015 7:18 pm    Post subject: Reply with quote

it's possible with the LuaPipeClient and LuaPipeServer but setting it up is a bit more complex

server executes:
Code:

p=openLuaServer("somename")


client:
Code:

p=connectToPipe("somename")
s=[[
print("bla")
print("param="..parameter)
]]

p.writeByte(1)  --execute lua function
p.writeDword(#s) --scriptsize
p.writeString(s) --script
p.writeDword(600) --'parameter' variable

and keep in mind that this code will run in a different thread, so 'synchronize' if you intend to use gui functions (like the addresslist)

But what I meant is open 2 CE's (call them CE1 and CE2)

CE1 connects to process1(the one you wish to set the value)
CE2 connects to process2(the one you wish to get the value from)

after connecting, in both CE's execute the lua command:
Code:

sharedaddress=allocateSharedMemory("mysharedblock", 4096)
registerSymbol("sharedaddress", sharedaddress)


now add the address "sharedaddress" to both CE's (it can be inside a table and CE will update it accordingly after that lua command)

in CE2 freeze sharedaddress and give it the value (entrywithoriginalvalue)
in CE1 freeze the address you wish to sync, and give it the value (entrywithsharedaddress)

_________________
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