Results 1 to 5 of 5
  1. #1
    OneWhoSighs's Avatar
    Join Date
    Oct 2007
    Location
    Status: 1337
    Posts
    38
    Reputation
    11
    Thanks
    32

    Auto-Updating Addresses

    This is for people who know what theyre doing with C++.

    I've written the base of a signature search for you guys.

    Though the signature creator is not human, it is a computer, the signatures might not always end up good.

    1. Add my CSignatureSearch class to your project:
    https://www.robocoders.com/programmin...tureSearch.cpp
    https://www.robocoders.com/programmin...natureSearch.h

    2. Compile this as a dll, and make sure you edit the area that says : /*** EDIT ME ***/ Put your hack names and addresses that you know write now.

    Code:
    #include <windows.h>
    #include "CSignatureSearch.h"
    
    #define Log(SigName,Sig) fprintf(xLog, "BYTE %s[] = { %s};\n\n", SigName, Sig );
    
    CSignatureSearch SigSearch;
    
    string second;
    string third;
    
    void Logger3(char szName[55])
    {
    	third = third+"Log(\"" + szName + "\","+szName+");\n";
    }
    
    void Logger2(char szName[55])
    {		
    	second = second + "DWORD " + szName + " = CSigSearch.SigSearch(0x00401000,0x01000000,"+szName+"Sig,sizeof("+szName+"Sig),0xEE);\n\n";
    	Logger3(szName);
    }
    
    string Logger(char szName[55],DWORD dwAddress)
    {
    	string Output = SigSearch.CreateSignature(dwAddress);
    
    	Logger2(szName);
    
    	return Output;
    }
    
    
    void Main()
    {
        while(1)
        {
            
    	// If we press Numpad 0
    	if(GetAsyncKeyState(0x60))
            {
    		FILE* xLog = fopen("Signatures.txt", "w");
     		if(xLog)
    		{
    			/* EDIT HERE - Add your hacks + addresses */
    			
    			/* Examples: */
    
    			Log("UnlimitedStaminaSig",Logger("UnlimitedStamina",0x00400000).c_str() ); 
    
    			/* First param of Log() is the name of Sig, just put the name with Sig at the end. */
    			/* Second Param is always */
    /* Logger("HACKNAME",0x00ADDRESS).c_str() */
    			/* Then you end it with ); ofcourse */
    
    			fclose(xLog); // close file when we are done logging signatures
    		}
    		Sleep(1000);
    	}
    
    	Sleep(30); // No lag
        }
    
    }
    // On DLL Entry
    bool APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved){
       if(dwReason == DLL_PROCESS_ATTACH){
          DisableThreadLibraryCalls(hModule);
      
          CreateThread(NULL, 0, (unsigned long(__stdcall*)(void*))Main, NULL, 0, NULL);
          
          return TRUE;
         }
    
       return TRUE;
    
    }

    Okay, now you see in this area:
    /* EDIT HERE - Add your hacks + addresses */

    /* Examples: */

    Log("UnlimitedStaminaSig",Logger("UnlimitedStamina ",0x00400000).c_str() );

    /* First param of Log() is the name of Sig, just put the name with Sig at the end. */
    /* Second Param is always */
    /* Logger("HACKNAME",0x00ADDRESS).c_str() */
    /* Then you end it with ); ofcourse */
    You will see an example I used: Unlimited Stamina, ofcourse I didnt use the correct address, I was just showing you example.

    Add all the addresses you know, with the hack name.

    Then inject the dll using a dll injector.. If you want you can use my b0ts injector:
    ******** - Free Fast File Hosting

    Just press Add Library, add the dll... Select the option: Inject all libraries.
    Then type game.exe (or whatever the process name is) and then select process watch. When you launch the game, it will inject.

    Then when you are in a game and playing, press 0 on your number pad.

    It will then log some signatures to Signatures.txt in your game folder

    The signatures.txt will look like this for this example:

    Code:
    BYTE UnlimitedStaminaSig[] = { 0x6A, 0xFF, 0x68, 0xEE, 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0x00, 0x00, 0x00, 0x00, 0x50, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x56, 0x68, 0x41, 0xEE, 0x00, 0x00, 0xE8, 0xCF, 0xEE, 0xEE, 0x00, 0x6A, 0xEE, 0x8B, 0xF0, 0xE8, 0xEE, 0xEE, 0xEE, 0x00, 0x83, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, };
    
    DWORD UnlimitedStamina = CSigSearch.SigSearch(0x00401000,0x010001000,UnlimitedStaminaSig,sizeof(UnlimitedStaminaSig),0xEE);
    *Note thats just example not the real signature for unlimited stamina.

    Once you have the signatures for the hacks, you can now create the auto address search again using my CSignatureSearch Class, like this:

    Code:
    #include <windows.h>
    #include "CSignatureSearch.h"
    FILE* xLog = fopen("Addresses.txt", "w");
    
    int AddressCount;
    int TotalCount;
    
    void Log(char szName[256],DWORD dwAddress)
    {
    	if(xLog != NULL)
    	{
    		if(dwAddress)
    		{
    			fprintf(xLog,"\nFunction : %s\nAddress : %.8X\n",szName,dwAddress);
    			AddressCount++;
    
    		}
    		else
    		{
    			fprintf(xLog,"\nFunction : %s\nAddress : NOT FOUND!\n",szName);
    		}
    	}
    	TotalCount++;
    }
    
    CSignatureSearch CSigSearch;
    
    /* PLACE ALL SIGNATURE LOG IN HERE: */
    
    BYTE UnlimitedStaminaSig[] = { 0x6A, 0xFF, 0x68, 0xEE, 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0x00, 0x00, 0x00, 0x00, 0x50, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x56, 0x68, 0x41, 0xEE, 0x00, 0x00, 0xE8, 0xCF, 0xEE, 0xEE, 0x00, 0x6A, 0xEE, 0x8B, 0xF0, 0xE8, 0xEE, 0xEE, 0xEE, 0x00, 0x83, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, };
    
    DWORD UnlimitedStamina = CSigSearch.SigSearch(0x00401000,0x010001000,UnlimitedStaminaSig,sizeof(UnlimitedStaminaSig),0xEE);
    
    
    /* Main Loop */
    void Main()
    {
        while(1)
        {
    
    	if(GetAsyncKeyState(0x60))
            {
     		if(xLog)
    		{
    
    			Log("Unlimited Stamina",UnlimitedStamina); // <nameofhack> <DWORD variable of hack> 
    
    			fclose(xLog); // close file when we are done logging addresses
    			char Buffer[82];
    			sprintf(Buffer,"Offsets logged! %d / %d addresses found!\nLogged to: Addresses.txt",AddressCount,TotalCount);
    			MessageBox(0,Buffer,"OneWhoSighs's Address Updater",MB_OK);
    		}
    		Sleep(1000);
    	}
    
    	Sleep(30); // No lag
        }
    
    }
    bool APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved){
    	if(dwReason == DLL_PROCESS_ATTACH){
    	   DisableThreadLibraryCalls(hModule);
    	      if(dwReason == DLL_PROCESS_ATTACH){
          DisableThreadLibraryCalls(hModule);
      
          CreateThread(NULL, 0, (unsigned long(__stdcall*)(void*))Main, NULL, 0, NULL);
          
          return TRUE;
         }
    
       return TRUE;
    
    }
    Now you can inject that dll ^ which is the address logger. (You cant create the address logger until you get the signatures for the address.

    Then you go in a game (make sure ur in a game playing) then u press 0. It will log the addresses for the signatures in Addresses.txt

    Heres an example (I did this with the game Gunz, and was able to auto updater over 300 addresses):
    https://www.robocoders.com/programmin...c09IJJILog.txt

    This is how your log will look like.
    Last edited by OneWhoSighs; 01-09-2008 at 02:10 PM.

  2. The Following 27 Users Say Thank You to OneWhoSighs For This Useful Post:

    BxR. (12-22-2009),devjin95 (12-06-2009),[MPGH]Disturbed (07-01-2009),Dorado (05-20-2009),hagbart89 (02-22-2008),hellzlaker (08-01-2008),Josephlolis0 (05-13-2008),juppeli (05-24-2008),minato93 (06-25-2008),moofhead (02-02-2008),NdP (09-17-2008),nepito (03-13-2010),net (08-22-2008),nukeist_ (01-19-2008),olave (08-12-2008),olie122333 (09-21-2008),Otaviomorais (10-08-2012),pDevice (04-18-2012),simosuke (10-26-2008),smoto (10-12-2008),snyp3r (05-11-2008),SomeOneSpecial (09-22-2009),supernatural91 (04-29-2013),Synns (01-09-2008),tammer (02-27-2011),Teh Nubasarus (04-05-2008),UnknownPerson (01-23-2008)

  3. #2
    masterboy120's Avatar
    Join Date
    Jul 2007
    Gender
    male
    Location
    The Netherlands
    Posts
    371
    Reputation
    10
    Thanks
    34
    My Mood
    Amazed
    Great tutorial dude and check your PM plz

  4. The Following 2 Users Say Thank You to masterboy120 For This Useful Post:

    jjrinx15 (10-22-2008),snyp3r (05-20-2008)

  5. #3
    Niratsio's Avatar
    Join Date
    Aug 2007
    Posts
    458
    Reputation
    10
    Thanks
    26
    its worth a try thnx!

  6. The Following User Says Thank You to Niratsio For This Useful Post:

    snyp3r (05-11-2008)

  7. #4
    pDevice's Avatar
    Join Date
    Feb 2012
    Gender
    male
    Location
    d3d9.h
    Posts
    1,306
    Reputation
    15
    Thanks
    420
    My Mood
    Stressed
    thanks brow



  8. #5
    supernatural91's Avatar
    Join Date
    Jun 2011
    Gender
    male
    Posts
    20
    Reputation
    10
    Thanks
    2
    thanks for sharing

Similar Threads

  1. [Tutorial] How to auto-update addresses even after patches
    By HaxOrDie in forum Combat Arms EU Hack Coding/Source Code
    Replies: 3
    Last Post: 01-15-2011, 01:55 AM
  2. [TUTORIALS] How to auto-update addresses even after patches
    By J in forum Combat Arms Hack Coding / Programming / Source Code
    Replies: 19
    Last Post: 09-23-2010, 06:28 AM
  3. [Please Help] Auto-Updating
    By twistedswift in forum Hack Requests
    Replies: 0
    Last Post: 08-01-2008, 10:59 AM
  4. Updated Address's [2-13-08] Most Address's
    By RoB07 in forum WarRock - International Hacks
    Replies: 14
    Last Post: 02-13-2008, 03:15 PM
  5. Updated addresses for some hacks.
    By sp0tie in forum Gunz Hacks
    Replies: 3
    Last Post: 02-22-2006, 08:18 AM