| View previous topic :: View next topic |
| Author |
Message |
Irrialite Newbie cheater
Reputation: 1
Joined: 10 May 2009 Posts: 13
|
Posted: Sat Apr 13, 2013 11:46 am Post subject: Custom scan for values that depend on their address |
|
|
How would I go about making a custom scan for variables that are XORed by the address they're stored at. For example:
eax = value
ebx = address of value
xor eax,ebx
mov [ebx],eax
I'd like to make a custom scan for that but I haven't had any success yet.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25837 Location: The netherlands
|
Posted: Sat Apr 13, 2013 12:19 pm Post subject: |
|
|
Currently not possible as custom types do not use addresses
_________________
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 |
|
 |
Irrialite Newbie cheater
Reputation: 1
Joined: 10 May 2009 Posts: 13
|
Posted: Sat Apr 13, 2013 12:22 pm Post subject: |
|
|
| Would it be possible to include that functionality in a future update?
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25837 Location: The netherlands
|
Posted: Sat Apr 13, 2013 12:30 pm Post subject: |
|
|
Depends, how often do you need this?
No other variabletype needs to know the address so right no nowhere in ce where a variable is shown is the address provided
_________________
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 |
|
 |
Irrialite Newbie cheater
Reputation: 1
Joined: 10 May 2009 Posts: 13
|
Posted: Sat Apr 13, 2013 12:34 pm Post subject: |
|
|
| In a certain game nearly all the variables are obfuscated like that along with some other encryptions. While it is possible to find them by using changed/unchanged it's very tiresome and converting between them is effort as well. It would be mainly just for games like that.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25837 Location: The netherlands
|
Posted: Sat Apr 13, 2013 1:32 pm Post subject: |
|
|
Hmm, I probably won't add this to the next version. Perhaps the version after if more people have faster systems or popular non-multiplayer games store data like this, but not right now.
First it would decrease the scanspeed of all other scans as well. (the checkroutine needs to add the address parameter and every call the address must be recalculated, for every single address it checks)
And a LOT of code needs to be changed throughout cheat engine (addresslist, foundlist, dissect data, autoguess type, structure dissect, ...)
_________________
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 |
|
 |
Gniarf Grandmaster Cheater Supreme
Reputation: 43
Joined: 12 Mar 2012 Posts: 1285
|
Posted: Sat Apr 13, 2013 3:16 pm Post subject: |
|
|
Hmm...I vaguely remember seeing something like that in one or Relic's games (Space marine or one of their dawn of war series - don't remember). They xored dwords with their addresses IIRC. So from an user's perspective I'd interested in this feature too.
Actually, taking other encryptions schemes into account (like when the key is randomized, but accessible through a known pointer), I'm starting to think it'd be nice to have somekind of "injected AA custom types", executed in the target's address space, with a pointer to data as input.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25837 Location: The netherlands
|
Posted: Sat Apr 13, 2013 4:13 pm Post subject: |
|
|
Custom type inside the target process is possible but will require a very fast cpu and special windows version where cpu slices are extremely small, else the speed will be that of a memoryscanner that scans 1 byte at a time with readprocessmemory
A custom type inside the target will work as follows:
Ce wants to read an address so sets up the data and sets an event. Then it waits
Some time later the windows scheduler will wake the thread that controls custom scans in the target process and the type will be used to fill in a memory block.
It then triggers an event that the data is ready and the thread goes to sleep waiting for the next data command
A while later ce gets awakened and reads out the result value
It will do this for every single address
And sure, i guess i could query multiple addresses, but still, the times that you actually need this is after you already figured how it is stored
Also,space marine xor'ed it, but i don't think it was the address
_________________
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 |
|
 |
Gniarf Grandmaster Cheater Supreme
Reputation: 43
Joined: 12 Mar 2012 Posts: 1285
|
Posted: Sat Apr 13, 2013 5:17 pm Post subject: |
|
|
| Dark Byte wrote: | | And sure, i guess i could query multiple addresses, but still, the times that you actually need this is after you already figured how it is stored | I was also thinking about batch queries, something like a buffer containing the number of addresses to scan, followed by each address. A second one containing the output, and a wrapper feeding input/output addresses to the injected asm script.
...Then come the joys like: the custom type crashed the game and CE is still waiting for the results.
Thinking again about it, using an injected custom type that would read [[[Game.ex+1]+2]+3] in MyGame2.exe would be damn problematic. You'd probably need a veh in the wrapper.
As for usability, the game engine I'm thinking about (afaik used in every Eushully game, albeit with a lot of variations) uses the same key for every variable, so once I hacked - for example - money I can go for HP,MP etc... Only problem is that the key is randomized at startup.
'Ma if it's too much of a bother, just give it up, I wrote an external program that does various ReadProcessMemory and tells me what int I should enter in CE to have the desired result.
--EDIT:
Still, generally speaking injected custom types would be useful in almost every game that uses variable key encryption.
---End of edit
For the (supposed) Relic game I'm pretty sure I saw a clear float after xoring with an address from my cheat table, but it was a long time ago so I don't remember the details. And anyway, the OP has that cipher right under his noose.
|
|
| Back to top |
|
 |
|