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 


Taking Control of BaseThreadStart Function ...

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
BanMe
Master Cheater
Reputation: 0

Joined: 29 Nov 2005
Posts: 375
Location: Farmington NH, USA

PostPosted: Wed Feb 25, 2009 9:27 pm    Post subject: Taking Control of BaseThreadStart Function ... Reply with quote

ok so ive been going over some old code thats been on my computer and i love reapplying the uses of old code into new tools.. so what i was thinking of doing creating a injectable dll at "Program Load Time" in order to hook BaseThreadStartThunk Function.. by doing this we can get a list of Branchs of the Executing thread before it actuall executes.. and by using branch offset pattern match by Storeing the Thread Start Address + Branch offset away from start address by minusing Start Address from Branch Address to obtain offset we can store the offsets and check them against future runs of the program.thus creating somewhat of a behavioral recogition based on code patterning.. we can also determine Thread Function Total legth for additional matching capabilities..i think this combined with a slightly modified version of Skype's memalyzer and a separate LPC Message Server capable of relaying messages and code to the client via a Shared Section.. in further version i also want to add a SEH Stack peaker to peak into the stack and gather information about stack values.. or i could just use stackwalk64 but that way is lame..
most of the major functionality for this project of mine is done but i am seeking further ideas from 'knowing' individuals regarding new options and ideas for further improvents in this novell idea.. ;}

regards BanMe

Code:

typedef struct CC_TREE
{
   SIZE_T MemTotalSize;
   LPVOID MemStart;
   DWORD NumTotalEntry;
   DWORD NumEntry;
}CC_TREE;

typedef struct CCEX_TREE
{
   CC_TREE CC_Tree;
   void* BranchOffset[255];
   DWORD ThreadStartAddress;
   LPVOID Param;
   DWORD *Eip;
   DWORD szEip;
}CCEX_TREE;
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 -> General programming 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