View previous topic :: View next topic |
Author |
Message |
SwaggaJackin' Master Cheater
Reputation: 2
Joined: 06 Nov 2009 Posts: 304
|
Posted: Sat Mar 27, 2010 10:01 am Post subject: Feature request: Edit multiple addresses in memory view |
|
|
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 |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25791 Location: The netherlands
|
Posted: Sat Mar 27, 2010 11:25 am Post subject: |
|
|
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 |
|
 |
SwaggaJackin' Master Cheater
Reputation: 2
Joined: 06 Nov 2009 Posts: 304
|
Posted: Sat Mar 27, 2010 5:00 pm Post subject: |
|
|
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 .
Does not occur when a header isn't present. Not sure if maybe there is some checksum the header has?
|
|
Back to top |
|
 |
Csimbi I post too much
Reputation: 97
Joined: 14 Jul 2007 Posts: 3322
|
Posted: Tue Mar 30, 2010 4:52 pm Post subject: Re: Feature request: Edit multiple addresses in memory view |
|
|
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 |
|
 |
SwaggaJackin' Master Cheater
Reputation: 2
Joined: 06 Nov 2009 Posts: 304
|
Posted: Thu Apr 01, 2010 7:58 pm Post subject: |
|
|
Can you read?
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25791 Location: The netherlands
|
Posted: Thu Apr 01, 2010 8:21 pm Post subject: |
|
|
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 |
|
 |
Black Widow Newbie cheater
Reputation: 0
Joined: 21 May 2010 Posts: 18 Location: Portugal
|
Posted: Tue May 25, 2010 4:39 am Post subject: Hex Workshop Vs HxD editor |
|
|
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 |
|
 |
kache Cheater
Reputation: 0
Joined: 30 Jul 2009 Posts: 26
|
Posted: Thu Jul 07, 2011 4:42 pm Post subject: |
|
|
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...
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25791 Location: The netherlands
|
Posted: Thu Jul 07, 2011 8:20 pm Post subject: |
|
|
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 |
|
 |
kache Cheater
Reputation: 0
Joined: 30 Jul 2009 Posts: 26
|
Posted: Fri Jul 08, 2011 7:23 am Post subject: |
|
|
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 |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25791 Location: The netherlands
|
Posted: Fri Jul 08, 2011 9:57 am Post subject: |
|
|
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 |
|
 |
kache Cheater
Reputation: 0
Joined: 30 Jul 2009 Posts: 26
|
Posted: Fri Jul 08, 2011 11:00 am Post subject: |
|
|
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 |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25791 Location: The netherlands
|
Posted: Fri Jul 08, 2011 11:33 am Post subject: |
|
|
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 |
|
 |
kache Cheater
Reputation: 0
Joined: 30 Jul 2009 Posts: 26
|
Posted: Fri Jul 08, 2011 12:51 pm Post subject: |
|
|
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 |
|
 |
kache Cheater
Reputation: 0
Joined: 30 Jul 2009 Posts: 26
|
Posted: Sat Jul 09, 2011 8:15 am Post subject: |
|
|
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?
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...
|
|
Back to top |
|
 |
|