Jump to content

Recommended Posts

They ban bots all the time but not for detection, Wrobot doesn’t modify any memory. Wrobot use HWBP which is harder to detect if at all possible. The inject if I am correct is via endscene which every single video captured uses.

 

they ban because people are watching bot do weird shit.

 

sharp turns, weird directions etc 

Link to comment
https://wrobot.eu/forums/topic/15358-warmane-onyxia-realm/#findComment-69023
Share on other sites

  • 2 weeks later...
  • 10 months later...

definitely detected on Onyxia. I attempt to login to a fresh character, fresh account with wrobot active. I just stand still at the starting area for a couple minutes and get banned. I then log in with a different fresh account with no wrobot active, and do not get banned.

Link to comment
https://wrobot.eu/forums/topic/15358-warmane-onyxia-realm/#findComment-69696
Share on other sites

2 hours ago, kdubbin said:

definitely detected on Onyxia. I attempt to login to a fresh character, fresh account with wrobot active. I just stand still at the starting area for a couple minutes and get banned. I then log in with a different fresh account with no wrobot active, and do not get banned.

Hi,

Did you change your IP address using a VPN or proxy? Also, did you use a relogger? Some servers might use a LUA function called 'Reportbug,' which can send back details about your computer, potentially flagging any new accounts created and connected by the same hardware.

The reason I ask about the relogger is that @Droidz said mentioned here that reloggers ensure WoW doesn’t send back your PC name.

 

ReportBug Pseudocode

char __cdecl SendBugOpcode(int type, char *description)
{
    int v2; // eax
    unsigned int v3; // eax
    unsigned __int64 v4; // rax
    unsigned __int64 v5; // rax
    double v6; // st7
    double v7; // st6
    char v8; // al
    unsigned __int64 v9; // rax
    unsigned __int64 v10; // rax
    const char *v11; // esi
    const char *v12; // eax
    _DWORD *v13; // eax
    _DWORD *v14; // esi
    int v15; // edi
    int v16; // ebx
    int v17; // eax
    const char *v18; // edi
    __int64 v19; // rax
    char *v20; // ecx
    char *v21; // eax
    int v22; // edi
    int v23; // eax
    void *v24; // eax
    char *v25; // eax
    unsigned int i; // ebx
    int v27; // edi
    _BOOL1 v28; // zf
    char *v29; // eax
    int v30; // esi
    int v31; // edi
    __int64 v33; // [esp+10h] [ebp-14F0h]
    unsigned __int64 v34; // [esp+18h] [ebp-14E8h]
    double v35; // [esp+18h] [ebp-14E8h]
    SpellRec v36; // [esp+2Ch] [ebp-14D4h] BYREF
    char v37; // [esp+2D4h] [ebp-122Ch] BYREF
    char Dst[4095]; // [esp+2D5h] [ebp-122Bh] BYREF
    char Buffer[256]; // [esp+12D4h] [ebp-22Ch] BYREF
    int a1[64]; // [esp+13D4h] [ebp-12Ch] BYREF
    unsigned int v41; // [esp+14D4h] [ebp-2Ch] BYREF
    CDataStore v42; // [esp+14D8h] [ebp-28h] BYREF
    DWORD nSize; // [esp+14F0h] [ebp-10h] BYREF
    float v44; // [esp+14F4h] [ebp-Ch] BYREF
    unsigned __int64 v45; // [esp+14F8h] [ebp-8h]

    if ( !description || !*description )
        return 0;
    if ( !s_clientServices )
        goto LABEL_46;
    v37 = 0;
    memset(Dst, 0, sizeof(Dst));
    nSize = 256;
    if ( sub_86B4A0(Buffer, &nSize) )
    {
        SStrPrintf((char *)a1, 256, "Username:\t%s\n", Buffer);
        SStrCopy_0(&v37, a1, 4096);
    }
    nSize = 256;
    if ( sub_86B480(Buffer, &nSize) )
    {
        SStrPrintf((char *)a1, 256, "Computer:\t%s\n", Buffer);
        SStrCopy_0(&v37, a1, 4096);
    }
    v2 = OsGetNumberOfProcessors();
    SStrPrintf((char *)a1, 256, "Processors:\t%u\n", v2);
    SStrCopy_0(&v37, a1, 4096);
    sub_86B9A0(&v41);
    v3 = v41;
    if ( v41 > 4 )
    {
        v3 = 0;
        v41 = 0;
    }
    SStrPrintf((char *)a1, 256, "Processor vendor:\t%s\n", off_AD93C0[v3]);
    SStrCopy_0(&v37, a1, 4096);
    v4 = sub_86AE70();
    if ( v4 >= qword_AD93B8 )
    {
        v9 = v4 / 0xF4240;
        v6 = (double)(v9 & 0x7FFFFFFFFFFFFFFFi64);
        v45 = __PAIR64__(HIDWORD(v9) & 0x80000000, 0);
        v7 = (double)__SPAIR64__(HIDWORD(v9) & 0x80000000, 0);
        v8 = 71;
    }
    else
    {
        v5 = v4 / 0x3E8;
        v6 = (double)(v5 & 0x7FFFFFFFFFFFFFFFi64);
        v45 = __PAIR64__(HIDWORD(v5) & 0x80000000, 0);
        v7 = (double)__SPAIR64__(HIDWORD(v5) & 0x80000000, 0);
        v8 = 77;
    }
    SStrPrintf((char *)a1, 256, "Processor speed:\t%6.2f%cHz\n", (v6 - v7) * 0.001, v8);
    SStrCopy_0(&v37, a1, 4096);
    v10 = sub_86B4C0();
    SStrPrintf((char *)a1, 256, "Memory:\t%uMB\n", (unsigned int)(v10 >> 20));
    SStrCopy_0(&v37, a1, 4096);
    SStrCopy_0(&v37, "OS:\t\t", 4096);
    sub_86B430((char *)a1, 256);
    SStrCopy_0(&v37, a1, 4096);
    SStrCopy_0(&v37, L"\n", 4096);
    SStrPrintf((char *)a1, 256, "Version:\t%s\n", "WoW [Release] Build 12340 (Jun 24 2010 23:54:57)");
    SStrCopy_0(&v37, a1, 4096);
    v11 = byte_C79620 != 0 ? &byte_C79620 : 0;
    if ( v11 )
    {
        v12 = (const char *)GetRealmName();
        SStrPrintf((char *)a1, 256, "Realm:\t%s\n", v12);
        SStrCopy_0(&v37, a1, 4096);
        SStrPrintf((char *)a1, 256, "Account:\t%s\n", v11);
        SStrCopy_0(&v37, a1, 4096);
        if ( ClientServices::GetCurrent() )
        {
            if ( *((_DWORD *)ClientServices::GetCurrent() + 3029) )
            {
                v13 = ClntObjMgrGetActivePlayerObj();
                v14 = v13;
                if ( v13 )
                {
                    v15 = v13[52];
                    v16 = ClientDB::GetRow((int)&g_ChrRacesDB.funcTable2, *(unsigned __int8 *)(v15 + 68));
                    v17 = ClientDB::GetRow((int)&g_ChrClassesDB.funcTable2, *(unsigned __int8 *)(v15 + 69));
                    if ( v17 )
                        v18 = *(const char **)(v17 + 16);
                    else
                        v18 = "Unknown";
                    if ( v16 )
                        HIDWORD(v19) = *(_DWORD *)(v16 + 56);
                    else
                        HIDWORD(v19) = "Unknown";
                    LODWORD(v19) = v14[52];
                    v20 = off_AD6628[*(unsigned __int8 *)(v19 + 70)];
                    LODWORD(v19) = *(_DWORD *)(v19 + 192);
                    v34 = __PAIR64__((unsigned int)v18, (unsigned int)v20);
                    v33 = v19;
                    v21 = CGUnit_C::GetObjectName_0((int)v14, 0, 1);
                    SStrPrintf(
                        (char *)a1,
                        256,
                        "Character:\t%s (level %i %s %s %s)\n",
                        v21,
                        (_DWORD)v33,
                        (const char *)HIDWORD(v33),
                        (const char *)v34,
                        (const char *)HIDWORD(v34));
                    SStrCopy_0(&v37, a1, 4096);
                    v22 = CGPlayer_C::GetNewContinentID();
                    v23 = ClientDB::GetRow((int)&g_MapDB.funcTable2, v22);
                    if ( v23 )
                        SStrPrintf((char *)a1, 256, "Map:\t\t%u (%s)\n", v22, *(const char **)(v23 + 4));
                    else
                        SStrPrintf((char *)a1, 256, "Map:\t\t%u\n", v22);
                    SStrCopy_0(&v37, a1, 4096);
                    if ( dword_BD0788 && *(_BYTE *)dword_BD0788 )
                    {
                        SStrPrintf((char *)a1, 256, "Zone:\t\t%s", (const char *)dword_BD0788);
                        SStrCopy_0(&v37, a1, 4096);
                        if ( dword_BD0784 && *(_BYTE *)dword_BD0784 )
                        {
                            SStrPrintf((char *)a1, 256, " - %s", (const char *)dword_BD0784);
                            SStrCopy_0(&v37, a1, 4096);
                        }
                        SStrCopy_0(&v37, L"\n", 4096);
                    }
                    (*(void (__thiscall **)(_DWORD *, float *))(*v14 + 44))(v14, &v44);
                    v35 = ((double (__thiscall *)(_DWORD *))*(_DWORD *)(*v14 + 52))(v14);
                    SStrPrintf((char *)a1, 256, "Position:\t%f %f %f, %f\n", v44, *(float *)&v45, *((float *)&v45 + 1), v35);
                    SStrCopy_0(&v37, a1, 4096);
                    if ( CGGameUI::m_lockedTarget )
                    {
                        v24 = ClntObjMgrObjectPtr(CGGameUI::m_lockedTarget, TYPEMASK_UNIT);
                        if ( v24 )
                        {
                            v25 = CGUnit_C::GetObjectName_0((int)v24, 0, 1);
                            SStrPrintf((char *)a1, 256, "Target:\t%s\n", v25);
                            SStrCopy_0(&v37, a1, 4096);
                        }
                    }
                    SStrPrintf((char *)a1, 256, "Auras:\n");
                    SStrCopy_0(&v37, a1, 4096);
                    WowClientDB::GetRow(&v36);
                    for ( i = 0; i < CGUnit_C::GetAuraCount(v14); ++i )
                    {
                        v27 = CGUnit_C::GetAuraSpellId(i);
                        if ( v27 )
                        {
                            v28 = ClientDb::GetLocalizedRow(&g_SpellDB, v27, &v36) == 0;
                            v29 = v36.m_name_lang;
                            if ( v28 )
                                v29 = "UNKNOWN";
                            SStrPrintf((char *)a1, 256, "\t%s(%d)\n", v29, v27);
                            SStrCopy_0(&v37, a1, 4096);
                        }
                    }
                    nullsub_3();
                }
            }
        }
    }
    v30 = SStrLen(&v37) + 1;
    v31 = SStrLen(description) + 1;
    v42.vTable = (CDataStore_vTable *)off_9E0E24;
    v42.m_buffer = 0;
    v42.m_base = 0;
    v42.m_alloc = 0;
    v42.m_size = 0;
    v42.m_read = -1;
    CDataStore::PutInt32(&v42, CMSG_BUG);
    CDataStore::PutInt32(&v42, type);
    CDataStore::PutInt32(&v42, v30);
    CDataStore::PutBytes2(&v42, (int)&v37, v30);
    CDataStore::PutInt32(&v42, v31);
    CDataStore::PutBytes2(&v42, (int)description, v31);
    v42.m_read = 0;
    if ( !s_clientServices )
LABEL_46:
        sub_8889B0((int)&byte_9E14FF, (int)&byte_9E14FF, 0);
    SendPacket((int)s_clientServices, &v42);
    v42.vTable = (CDataStore_vTable *)off_9E0E24;
    if ( v42.m_alloc != -1 )
        CDataStore::InternalDestroy(&v42.m_buffer, &v42.m_base, &v42.m_alloc);
    return 1;
}

 

Link to comment
https://wrobot.eu/forums/topic/15358-warmane-onyxia-realm/#findComment-69697
Share on other sites

Today I tried to make a route for killing mobs, it took place in a cave and I succeeded, but in some places the bot returned 5-6 times there and back, it is very bad that the points that I put on the route are still processed by something, the bot does not follow the points literally, it goes along its processed route and this is sad, the more I use the bot, the more upset I become

Link to comment
https://wrobot.eu/forums/topic/15358-warmane-onyxia-realm/#findComment-69700
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...