 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
gir489 Grandmaster Cheater
Reputation: 14
Joined: 03 Jan 2012 Posts: 841 Location: Maryland, United States
|
Posted: Sun Dec 02, 2012 4:47 pm Post subject: AoB specify search location |
|
|
Instead of having the AoB search the entire process, which fucking takes forever, it'd be nice to specify a section of memory for which to scan.
Basically, it would look like this.
AOBScan( foo, FF ?? FF ?? FF ??, game.dll, 0x46000)
Where game.dll is the place to start, and 46000 is the length to stop looking, IE game.dll+0x46000.
Just a suggestion.
|
|
Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Dec 02, 2012 5:19 pm Post subject: |
|
|
Only with LUA for now:
http://forum.cheatengine.org/viewtopic.php?t=559987
I've used something similar for Borderlands2 - Rarity Chances Revealer and Borderlands2 - Blink:
createMemScan() + memscan_returnOnlyOneResult() + memscan_firstScan() + memscan_waitTillDone() + memscan_getOnlyResult().
For those variable types: "vtGrouped" and "vtByteArray"
I learned about this technique over a month ago.
Before, I somehow missed this returnOnlyOneResult option when I read the descriptions inside main.lua file.
Before, I used only:
createMemScan() + memscan_firstScan() + memscan_waitTillDone() + createFoundList() + foundlist_initialize() + foundlist_getAddress() or foundlist_getValue()
And:
- AOBScan(x,x,x,x) + strings_getCount() + strings_getString()
- AOBScan("aobstring", protectionflags OPTIONAL, alignmenttype OPTIONAL, alignmentparam HALFOPTIONAL) + strings_getCount() + strings_getString()
_________________
|
|
Back to top |
|
 |
gir489 Grandmaster Cheater
Reputation: 14
Joined: 03 Jan 2012 Posts: 841 Location: Maryland, United States
|
Posted: Sun Dec 02, 2012 6:18 pm Post subject: |
|
|
mgr.inz.Player wrote: | Only with LUA for now:
http://forum.cheatengine.org/viewtopic.php?t=559987
I've used something similar for Borderlands2 - Rarity Chances Revealer and Borderlands2 - Blink:
createMemScan() + memscan_returnOnlyOneResult() + memscan_firstScan() + memscan_waitTillDone() + memscan_getOnlyResult().
For those variable types: "vtGrouped" and "vtByteArray"
I learned about this technique over a month ago.
Before, I somehow missed this returnOnlyOneResult option when I read the descriptions inside main.lua file.
Before, I used only:
createMemScan() + memscan_firstScan() + memscan_waitTillDone() + createFoundList() + foundlist_initialize() + foundlist_getAddress() or foundlist_getValue()
And:
- AOBScan(x,x,x,x) + strings_getCount() + strings_getString()
- AOBScan("aobstring", protectionflags OPTIONAL, alignmenttype OPTIONAL, alignmentparam HALFOPTIONAL) + strings_getCount() + strings_getString() |
We've been using this "technique" in cheats since 2005. This is old news, actually.
Code: | bool CBaseAPI::bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for( ; *szMask; ++szMask, ++pData, ++bMask )
if( *szMask == 'x' && *pData != *bMask )
return false;
return ( *szMask ) == NULL;
}
DWORD CBaseAPI::dwFindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for( DWORD i = NULL; i < dwLen; i++ )
if( bDataCompare( (BYTE*) ( dwAddress + i ), bMask, szMask ) )
return (DWORD)( dwAddress + i );
return 0;
} |
It was originally conceived by wav, but P47TR!CK made the code.
This should be standard for any type of memory searching, to specify where to start.
|
|
Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Dec 02, 2012 9:16 pm Post subject: |
|
|
One misunderstanding...
This "technique" is available in CheatEngine since "Jan 15, 2012", as a new LUA function.
http://code.google.com/p/cheat-engine/source/browse/trunk/Cheat%20Engine/LuaMemscan.pas ? r = 1 1 7 4
changelog:
"implement a bunch of new lua functions
Split memscan and foundlist from the main
luahandler.pas into separate units"
So, I should have written earlier:
"I learned about this technique we can use in CE6.2, over a month ago".
_________________
|
|
Back to top |
|
 |
|
|
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
|
|