[SourceCode] FantasyTennis Bot

11/05/2012 12:03 XxharCs#1
hey all

i wanna share my old fantasy tennis bot with you.
i am not sure if the code is still working but you can try it!

itīs written in C/C++

Code:
#include <iostream>
#include <windows.h>
#include <tlhelp32.h>

using namespace std;

HWND GameWindow = FindWindowA(0, "FantasyTennis");;

bool CheckForProcessAlive(LPSTR str);
BOOL IsAdministrator(VOID);
void sendKey(int vk, BOOL bExtended);
bool state = FALSE;

BOOL IsAdministrator(VOID)
{
    SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
    PSID AdministratorsGroup;

    if( !AllocateAndInitializeSid(&NtAuthority,2,SECURITY_BUILTIN_DOMAIN_RID,
        DOMAIN_ALIAS_RID_ADMINS,0, 0, 0, 0, 0, 0,&AdministratorsGroup))
    {
        return FALSE;
    }

    BOOL IsInAdminGroup = FALSE;

    if(!CheckTokenMembership(NULL,AdministratorsGroup,&IsInAdminGroup))
    {
        IsInAdminGroup = FALSE;
    }

    FreeSid(AdministratorsGroup);
    return IsInAdminGroup;
}

void SetDebugPrivilege() 
{
    HANDLE hProcess=GetCurrentProcess(), hToken;
    TOKEN_PRIVILEGES priv;
    LUID luid;

    OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, &hToken);


    priv.PrivilegeCount = 1;
    priv.Privileges[0].Luid = luid;
    priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, FALSE, &priv, 0, 0, 0);

    CloseHandle(hToken); 
}

int main(int argc, char *argv[]){

    SetConsoleTitle("XxharCs-Bot");

    if(IsAdministrator() == FALSE)
    {
        MessageBoxA(0, "Please start it as admin !", "Error", MB_ICONERROR);
        //ExitProcess(1);
        return 0;
    }

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);



    char* ProcessName = "FT_Client.exe";


    cout << "================================\n";
    cout << " Fantasy Tennis Bot by XxharCs\n";
    cout << "================================\n\n";
    

    SetDebugPrivilege();

    cout << "Waiting for Fantasy Tennis..." << endl;

    while(CheckForProcessAlive(ProcessName)){
         
    }

    
    cout << "Fantasy Tennis found!" << endl;

    

    while (!CheckForProcessAlive(ProcessName))
    {
        if(GetAsyncKeyState(0x70)&1)state =! state;  // 0x70 = F1

        if(state){
            SetForegroundWindow(GameWindow);
            Sleep(50);
            sendKey(0x57, FALSE); // 0x57 = W
            Sleep(2000);
        }
    }

    state = FALSE;
    
    cout << "Fantasy Tennis is closed !" << endl;
    Sleep(1000);

    return 0;
}

bool CheckForProcessAlive(LPSTR str)
{

    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

    PROCESSENTRY32* processInfo=new PROCESSENTRY32;
    processInfo->dwSize=sizeof(PROCESSENTRY32);

    DWORD processID = 0;
    BOOL bFound = TRUE;

    while(Process32Next(hSnapShot,processInfo)!=FALSE)
    {
        processID = processInfo->th32ProcessID;

        if(lstrcmp(processInfo->szExeFile,str) == 0)
        {
            bFound = FALSE;
            //break;
        }
    }

    CloseHandle(hSnapShot);

    if(bFound)
    {
        return TRUE;
    }
    return FALSE;

} 

void sendKey(int vk, BOOL bExtended) {

    KEYBDINPUT  kb = {0};
    INPUT       Input = {0};
    int scan = MapVirtualKey(vk, 0);

    /* Generate a "key down" */
    if (bExtended) { kb.dwFlags  = KEYEVENTF_EXTENDEDKEY; }
    kb.wVk  = vk;
    Input.type  = INPUT_KEYBOARD;
    Input.ki  = kb;
    Input.ki.wScan = scan;
    SendInput(1, &Input, sizeof(Input));

    /* Generate a "key up" */
    ZeroMemory(&kb, sizeof(KEYBDINPUT));
    ZeroMemory(&Input, sizeof(INPUT));
    kb.dwFlags  =  KEYEVENTF_KEYUP;
    if (bExtended) { kb.dwFlags |= KEYEVENTF_EXTENDEDKEY; }
    kb.wVk = vk;
    Input.type = INPUT_KEYBOARD;
    Input.ki = kb;
    Input.ki.wScan = scan;
    SendInput(1, &Input, sizeof(Input));

    return;
}
11/05/2012 14:53 kui112#2
you are very clever hacker
11/05/2012 19:18 Pho3nX#3
useless source [Only registered and activated users can see links. Click Here To Register...]
11/05/2012 19:25 XxharCs#4
Quote:
Originally Posted by Pho3nX View Post
useless source [Only registered and activated users can see links. Click Here To Register...]
what for ide u have that u cant include the standart headers lol ?
11/05/2012 19:30 Pho3nX#5
Quote:
Originally Posted by XxharCs View Post
what for ide u have that u cant include the standart headers lol ?
VB 2010
11/05/2012 19:34 XxharCs#6
Quote:
Originally Posted by Pho3nX View Post
VB 2010
VB is an visual basic IDE..
try VC++, Dev++ or VS
11/05/2012 19:55 Pho3nX#7
im shit in c++ cant compil it :/
11/08/2012 08:18 king-kongs#8
this work with autoscript?