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 


Feature request: Edit multiple addresses in memory view
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
SwaggaJackin'
Master Cheater
Reputation: 2

Joined: 06 Nov 2009
Posts: 304

PostPosted: Sat Mar 27, 2010 10:01 am    Post subject: Feature request: Edit multiple addresses in memory view Reply with quote

If there is already a way to do this, I apologize, I'm unaware of any method as of yet.

I'd really love to be able to highlight a list of addresses and set them all to the same value inside the memory view, very handy when editing an entire inventory in an rpg. Or even being able to highlight all the addresses and adding them all to the code list.

Also, a way to add multiple codes to the codelist would work great as well. Something similar to a condensed code on say the Ps2's cheat engine.

Example:

http://www.codemasters-project.net/portal-english/apportal/cmp_plugins/content/content.php?content.53

I'd be interesting in even making my own plugin, but there is no documentation on making plugins =/.

Currently what I do is save the memory region, open it in Hex Workshops, then edit the multiple addresses there, then load the memory region. It works but, would really like to not have to do a run around.

Thanks.

Edit also:

Possible bug:

When saving a memory region, the actual region saved is 1 byte less than specified. So if say I specify to save region 05b16002 - 05b16008.

The saved file only includes 05b16002-05b16007.

This only seems to happen when including the Cheat Engine header.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Sat Mar 27, 2010 11:25 am    Post subject: This post has 1 review(s) Reply with quote

Quote:

I'd be interesting in even making my own plugin, but there is no documentation on making plugins =/.

Just read the helpfile, there's an extensive documentation on the plugin api's

I'll look at that bug

_________________
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
SwaggaJackin'
Master Cheater
Reputation: 2

Joined: 06 Nov 2009
Posts: 304

PostPosted: Sat Mar 27, 2010 5:00 pm    Post subject: Reply with quote

Ya another thing, I'm not sure what causes this, but if I load the memory file after editing the address values with a cheat engine header present. Cheat engine gives an error saying out of memory (the loaded memory portion is only 504 bytes) and will lock the file.

Actually, I've never even tested loading the memory file without editing it to even see if THAT works Razz.

Does not occur when a header isn't present. Not sure if maybe there is some checksum the header has?
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 97

Joined: 14 Jul 2007
Posts: 3322

PostPosted: Tue Mar 30, 2010 4:52 pm    Post subject: Re: Feature request: Edit multiple addresses in memory view Reply with quote

SwaggaJackin' wrote:
I'd really love to be able to highlight a list of addresses and set them all to the same value inside the memory view

Just highlight the addresses, right-click and select change value...
Back to top
View user's profile Send private message
SwaggaJackin'
Master Cheater
Reputation: 2

Joined: 06 Nov 2009
Posts: 304

PostPosted: Thu Apr 01, 2010 7:58 pm    Post subject: Reply with quote

Can you read?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Thu Apr 01, 2010 8:21 pm    Post subject: Reply with quote

If the memory you're saving is only one memory region, you can do without a header.

Also, you might be able to use the "loadbinary" aa command to make loading regions of memory faster (no headers), so you can then just click on enable to load

As for doing condensed addresses, that's not going to work for games these days, but I'll see if I can make saving a region easier (e.g pointer based savebinary)

_________________
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
Black Widow
Newbie cheater
Reputation: 0

Joined: 21 May 2010
Posts: 18
Location: Portugal

PostPosted: Tue May 25, 2010 4:39 am    Post subject: Hex Workshop Vs HxD editor Reply with quote

Hi there !

Insted of using Hexeditor Workshop, why don't you use HxD.
It's free ware and you can edit directly in the memory's process.
I allways usit with CE to do stuf tha CE does'nt (or I don'T know how it does)

Anyway HxD it's an Hex editor far more powerfull than Hex editor Workshop.
Back to top
View user's profile Send private message
kache
Cheater
Reputation: 0

Joined: 30 Jul 2009
Posts: 26

PostPosted: Thu Jul 07, 2011 4:42 pm    Post subject: Reply with quote

Does anyone know if this is possible now?
I need to make a table for a couple hundred addresses, and they are all in the same region.
I tried selecting the parts I wanted to add to the table and do -add to the list, but it adds only the first one, not all of them... Sad
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Thu Jul 07, 2011 8:20 pm    Post subject: Reply with quote

Well, you could of course write a lua script that does this, but it's not in by default.
But why do you want to do this? Perhaps there is a way easier solution for what you want to do (e.g use a lua script that does writeInteger on an array in memory )

_________________
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
kache
Cheater
Reputation: 0

Joined: 30 Jul 2009
Posts: 26

PostPosted: Fri Jul 08, 2011 7:23 am    Post subject: Reply with quote

Dark Byte wrote:
Well, you could of course write a lua script that does this, but it's not in by default.
But why do you want to do this? Perhaps there is a way easier solution for what you want to do (e.g use a lua script that does writeInteger on an array in memory )

These are the addresses I need to add to a table (and I also have to find a way to solve the fact that their addresses change every time the game starts, but I still have to learn that), because they control the unlock of badges and icons, so the users of the table can unlock them by simply putting these addresses to 1.


Last edited by kache on Sun Jul 10, 2011 6:55 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Fri Jul 08, 2011 9:57 am    Post subject: Reply with quote

easiest method is finding out what accesses one of those bytes. One of the registers will most likely point to the start of the array.
You can then do a code injection there to write the bytes
:
mov edi, address of the block
mov ecx, size of block
mov al,1 //byte to set
rep stosb //fill the block with 1's

alternatively, you can write a lua script that does this
writeBytes(address, 1) will write a 1 at the given address

you could use a for loop for this
Code:

startaddress=0x7CF892C
size=2216
for i=0, size-1 do
  writeBytes(startaddress+i, 1)

_________________
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
kache
Cheater
Reputation: 0

Joined: 30 Jul 2009
Posts: 26

PostPosted: Fri Jul 08, 2011 11:00 am    Post subject: Reply with quote

Dark Byte wrote:
easiest method is finding out what accesses one of those bytes. One of the registers will most likely point to the start of the array.
You can then do a code injection there to write the bytes
:
mov edi, address of the block
mov ecx, size of block
mov al,1 //byte to set
rep stosb //fill the block with 1's

alternatively, you can write a lua script that does this
writeBytes(address, 1) will write a 1 at the given address

you could use a for loop for this
Code:

startaddress=0x7CF892C
size=2216
for i=0, size-1 do
  writeBytes(startaddress+i, 1)


Used this:
Code:
startaddress=0x121A2094
size=2212
for i=0, size-1 do
  writeBytes(startaddress+i, 1)

And got this error message:

What did I do wrong?
Also, how do I account for the pointers and for the offsets? I was able to find the green pointer and the relative offsets, so every time the game starts the address is found automatically.


Last edited by kache on Sun Jul 10, 2011 6:56 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Fri Jul 08, 2011 11:33 am    Post subject: Reply with quote

sorry, forgot that you need an "end" at the end (not really that experienced with lua)

so try
Code:

startaddress=0x121A2094
size=2212
for i=0, size-1 do
  writeBytes(startaddress+i, 1)
end

_________________
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
kache
Cheater
Reputation: 0

Joined: 30 Jul 2009
Posts: 26

PostPosted: Fri Jul 08, 2011 12:51 pm    Post subject: Reply with quote

Dark Byte wrote:
sorry, forgot that you need an "end" at the end (not really that experienced with lua)

so try
Code:

startaddress=0x121A2094
size=2212
for i=0, size-1 do
  writeBytes(startaddress+i, 1)
end

Ok, it works, thanks.
Now, how do I make the LUA script take the value of the address from the pointer calculation on the table (or trace it itself)?
Back to top
View user's profile Send private message
kache
Cheater
Reputation: 0

Joined: 30 Jul 2009
Posts: 26

PostPosted: Sat Jul 09, 2011 8:15 am    Post subject: Reply with quote

kache wrote:
Dark Byte wrote:
sorry, forgot that you need an "end" at the end (not really that experienced with lua)

so try
Code:

startaddress=0x121A2094
size=2212
for i=0, size-1 do
  writeBytes(startaddress+i, 1)
end

Ok, it works, thanks.
Now, how do I make the LUA script take the value of the address from the pointer calculation on the table (or trace it itself)?

Ehm, bump? Very Happy
I know I'm a little obnoxious, and I apologize, but this is the only thing missing, and I can finally finish the thing I've been working on for the last 5 days... Smile
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 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