+ Reply to Thread
Showing results 1 to 9 of 9

Thread: [Starcraft] StatsHack - Help

  1. #1

    Deviant
    n0.obAtroN is on a distinguished road n0.obAtroN's Avatar
    Join Date
    Oct 2007
    Location
    127.0.0.1
    Posts
    149
    Downloads
    4
    Uploads
    1

    [Starcraft] StatsHack - Help

    Hello, theoretically this stats hack coded in C++ should work, but when toggled on it crashes SC. Any ideas?

    PHP Code:
        void StatsHack()
        {
            
    int Player1Minerals[24];
            
    int Player2Minerals[24];
            
    int Player3Minerals[24];
            
    int Player4Minerals[24];
            
    int Player5Minerals[24];
            
    int Player6Minerals[24];
            
    int Player7Minerals[24];
            
    int Player8Minerals[24];
            
            
    int Player1Gas[24];
            
    int Player2Gas[24];
            
    int Player3Gas[24];
            
    int Player4Gas[24];
            
    int Player5Gas[24];
            
    int Player6Gas[24];
            
    int Player7Gas[24];
            
    int Player8Gas[24];
            
            
    char Player1Name[24];
            
    char Player2Name[24];
            
    char Player3Name[24];
            
    char Player4Name[24];
            
    char Player5Name[24];
            
    char Player6Name[24];
            
    char Player7Name[24];
            
    char Player8Name[24];
            
            
    char Combine1[100];
            
    char Combine2[100];
            
    char Combine3[100];
            
    char Combine4[100];
            
    char Combine5[100];
            
    char Combine6[100];
            
    char Combine7[100];
            
    char Combine8[100];
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0D8,&Player1Minerals,24,NULL); //get data
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F108,&Player1Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EEEB,&Player1Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0DC,&Player2Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F10C,&Player2Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EF0F,&Player2Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0E0,&Player3Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F110,&Player3Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EF33,&Player3Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0E4,&Player4Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F114,&Player4Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EF57,&Player4Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0E8,&Player5Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F118,&Player5Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EF7B,&Player5Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0EC,&Player6Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F11C,&Player6Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EF9F,&Player6Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0F0,&Player7Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F120,&Player7Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EFC3,&Player7Name,24,NULL);
            
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F0F4,&Player8Minerals,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57F124,&Player8Gas,24,NULL);
            
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)0x57EFE7,&Player8Name,24,NULL);
            
            
    char P1MinsChar = (charPlayer1Minerals//convert to char
            
    char P1GasChar = (charPlayer1Gas;
            
            
    char P2MinsChar = (charPlayer2Minerals
            
    char P2GasChar = (charPlayer2Gas;
            
            
    char P3MinsChar = (charPlayer3Minerals;
            
    char P3GasChar = (charPlayer3Gas;
            
            
    char P4MinsChar = (charPlayer4Minerals
            
    char P4GasChar = (charPlayer4Gas;
            
            
    char P5MinsChar = (charPlayer5Minerals
            
    char P5GasChar = (charPlayer5Gas;
            
            
    char P6MinsChar = (charPlayer6Minerals;
            
    char P6GasChar = (charPlayer6Gas;
            
            
    char P7MinsChar = (charPlayer7Minerals;
            
    char P7GasChar = (charPlayer7Gas;
            
            
    char P8MinsChar = (charPlayer8Minerals;
            
    char P8GasChar = (charPlayer8Gas;
            
            
    strcat(Combine1Player1Name); //combine + color
            
    strcat(Combine1" \x0E");
            
    strcat(Combine1, &P1MinsChar);
            
    strcat(Combine1" \x0F");
            
    strcat(Combine1, &P1GasChar);
            
            
    strcat(Combine2Player2Name);
            
    strcat(Combine2" \x0E");
            
    strcat(Combine2, &P2MinsChar);
            
    strcat(Combine2" \x0F");
            
    strcat(Combine2, &P2GasChar);
            
            
    strcat(Combine3Player3Name); 
            
    strcat(Combine3" \x0E");
            
    strcat(Combine3, &P3MinsChar);
            
    strcat(Combine3" \x0F");
            
    strcat(Combine3, &P3GasChar);
            
            
    strcat(Combine4Player4Name); 
            
    strcat(Combine4" \x0E");
            
    strcat(Combine4, &P4MinsChar);
            
    strcat(Combine4" \x0F");
            
    strcat(Combine4, &P4GasChar);
            
            
    strcat(Combine5Player5Name); 
            
    strcat(Combine5" \x0E");
            
    strcat(Combine5, &P5MinsChar);
            
    strcat(Combine5" \x0F");
            
    strcat(Combine5, &P5GasChar);
            
            
    strcat(Combine6Player6Name); 
            
    strcat(Combine6" \x0E");
            
    strcat(Combine6, &P6MinsChar);
            
    strcat(Combine6" \x0F");
            
    strcat(Combine6, &P6GasChar);
            
            
    strcat(Combine7Player7Name); 
            
    strcat(Combine7" \x0E");
            
    strcat(Combine7, &P7MinsChar);
            
    strcat(Combine7" \x0F");
            
    strcat(Combine7, &P7GasChar);
            
            
    strcat(Combine8Player8Name);
            
    strcat(Combine8" \x0E");
            
    strcat(Combine8, &P8MinsChar);
            
    strcat(Combine8" \x0F");
            
    strcat(Combine8, &P8GasChar);
            
            
    messaging::BWPrintToScreen(Combine1false); //print to screen
            
    messaging::BWPrintToScreen(Combine2false);
            
    messaging::BWPrintToScreen(Combine3false);
            
    messaging::BWPrintToScreen(Combine4false);
            
    messaging::BWPrintToScreen(Combine5false);
            
    messaging::BWPrintToScreen(Combine6false);
            
    messaging::BWPrintToScreen(Combine7false);
            
    messaging::BWPrintToScreen(Combine8false);
            
        } 
    Redneck to the core

    "Put a boot in your ass, 'cuz thats the American way"

  2. #2
    dt
    dt 15 0|\|11|\|3 |\|0\/\/
    Administrator

    Inquisitor
    dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt's Avatar
    Join Date
    Jul 2004
    Location
    Germany
    Posts
    4,917
    Downloads
    119
    Uploads
    0

    Your C++ programming is absolutely horrible.

    Anyway, try to change the first strcat in each block to strcpy. The strcat concatenates strings so it will search for the first NULL character in your uninitialized strings.

  3. #3

    Deviant
    n0.obAtroN is on a distinguished road n0.obAtroN's Avatar
    Join Date
    Oct 2007
    Location
    127.0.0.1
    Posts
    149
    Downloads
    4
    Uploads
    1

    ty
    Redneck to the core

    "Put a boot in your ass, 'cuz thats the American way"

  4. #4
    dt
    dt 15 0|\|11|\|3 |\|0\/\/
    Administrator

    Inquisitor
    dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt has a reputation beyond repute dt's Avatar
    Join Date
    Jul 2004
    Location
    Germany
    Posts
    4,917
    Downloads
    119
    Uploads
    0

    By the way, converting numbers to a character string does not work with a type cast. Get yourself a C++ book before you try to make hacks.

  5. #5

    Deviant
    n0.obAtroN is on a distinguished road n0.obAtroN's Avatar
    Join Date
    Oct 2007
    Location
    127.0.0.1
    Posts
    149
    Downloads
    4
    Uploads
    1

    meh. Ive already got one, several actually
    Redneck to the core

    "Put a boot in your ass, 'cuz thats the American way"

  6. #6
    Ereetu. Senior Member
    Game Hacking Staff

    High Priest
    Zephyrix is a name known to all Zephyrix is a name known to all Zephyrix is a name known to all Zephyrix is a name known to all Zephyrix's Avatar
    Join Date
    Oct 2005
    Location
    xor 1D27,1337
    Posts
    1,612
    Downloads
    1
    Uploads
    0

    Man, ever heard of loops?
    How about 2d arrays?



  7. #7

    Deviant
    n0.obAtroN is on a distinguished road n0.obAtroN's Avatar
    Join Date
    Oct 2007
    Location
    127.0.0.1
    Posts
    149
    Downloads
    4
    Uploads
    1

    lol, I decompressed it to be more understandable at first glance. Here is the compressed version:

    PHP Code:
        void StatsHack()
        {
            
    int PlayerStatData[2][8];
            
    char PlayerName[24][8];
            
    int StatOffsets[3][8] =
                {
                    { 
    0x57F0D80x57F0DC0x57F0E00x57F0E40x57F0E80x57F0EC0x57F0F00x57F0F4}, //minerals
                    
    0x57F1080x57F10C0x57F1100x57F1140x57F1180x57F11C0x57F1200x57F124}, //gas
                    
    0x57EEEB0x57EF0F0x57EF330x57EF570x57EF7B0x57EF9F0x57EFC30x57EFE7}, //names
                
    };
            
            for (
    int i 19; ++i)
            {
                
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)&StatOffsets[1][i],&PlayerStatData[1][i],24,NULL);
                
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)&StatOffsets[2][i],&PlayerStatData[2][i],24,NULL);
                
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)&StatOffsets[3][i],&PlayerName[i],24,NULL);
            }
            
        } 
    Redneck to the core

    "Put a boot in your ass, 'cuz thats the American way"

  8. #8
    Ereetu. Senior Member
    Game Hacking Staff

    High Priest
    Zephyrix is a name known to all Zephyrix is a name known to all Zephyrix is a name known to all Zephyrix is a name known to all Zephyrix's Avatar
    Join Date
    Oct 2005
    Location
    xor 1D27,1337
    Posts
    1,612
    Downloads
    1
    Uploads
    0

    Eh, notice the addresses are all x bytes apart? Utilize it. You don't need that many addresses.



  9. #9

    Deviant
    azn_snow is an unknown quantity at this point
    Join Date
    Mar 2005
    Posts
    41
    Downloads
    20
    Uploads
    0

    PHP Code:
        struct PlayerInfo
        
    {
            
    char PlayerName[24];
            
    int Minerals;
            
    int Gas;
        };

        
    void StatsHack()
        {
            
    PlayerInfo pInfo[8];
            
    int StatOffset 0x57EEEB;

            for (
    int i 08i++)
            {
                
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)&StatOffset,&pInfo[i].PlayerName,24,NULL);
                
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)&StatOffset 0x1ED,&pInfo[i].Minerals,2,NULL);
                
    ReadProcessMemory(GetCurrentProcess(),(LPCVOID)&StatOffset 0x21D,&pInfo[i].Gas,2,NULL);
                
    StatOffset += 0x24;
            }
            
    /*
            Print to Screen Code
            */
            
        

    I believe this is what Zephyrix was trying to get at for you.
    This enable you to just need one offset and the rest would be ready instead of finding every single offset to use.
    The structure is there for easier access to the day and code friendly.
    Don't ever use multidimensional arrays, they take too long to figure out where each data goes and can get complicate very fast.

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. [StarCraft] UHACK 3.0.0.0 BETA
    By ulliklliwi in forum Old downloads
    Replies: 83
    Last Post: 08-21-2007, 01:05 AM
  2. [StarCraft] StatsHack v1.3
    By K? Pŕo?ćtiόnŹ in forum Old downloads
    Replies: 15
    Last Post: 08-19-2007, 11:40 PM
  3. [StarCraft] Private Maphack + Statshack (No-Loss)
    By Zephyrix in forum Old downloads
    Replies: 116
    Last Post: 08-06-2007, 11:41 AM

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts