4.0 Migration menu

Shout-Out

User Tag List

Page 6 of 8 FirstFirst ... 2345678 LastLast
Results 76 to 90 of 111
  1. #76
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by kalixe View Post
    hp = pObjectStorage+(0x8 + 0x12)*4
    hp = [[ObjPtr + 0x8] + UNIT_FIELD_HEALTH *4]

    4.0 Migration
  2. #77
    kalixe's Avatar Member
    Reputation
    12
    Join Date
    Nov 2009
    Posts
    13
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Nesox View Post


    hp = [[ObjPtr + 0x8] + UNIT_FIELD_HEALTH *4]
    hp = [[CurrObj + 0x8] + (0x8 + 0x12) *4]
    UNIT_FIELD_HEALTH is (0x8 + 0x12) not 0 x 12

    or hp = [[CurrObj + 0x8] + 0x1A * 4]
    or hp = [[CurrObj + 0x8] + 0x68]
    Last edited by kalixe; 10-16-2010 at 07:35 AM.

  3. #78
    kiborgrus's Avatar Member
    Reputation
    -6
    Join Date
    May 2009
    Posts
    25
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by JuJuBoSc View Post
    Code:
            public enum Globals
            {
                UnitName1 = 0xA0C,                          // 4.0.1 13164
                UnitName2 = 0x60,                           // 4.0.1 13164
                ObjName1 = 0x1CC,                           // 4.0.1 13164
                ObjName2 = 0x94,                            // 4.0.1 13164
            }
    Who know ?
    RealUnitName = baseAdres + ?adress? + UnitName1 ?
    RealObjName = baseAdres + ?adress? + ObjName1 ?
    Please help.

  4. #79
    JuJuBoSc's Avatar Banned for scamming CoreCoins Purchaser
    Reputation
    1019
    Join Date
    May 2007
    Posts
    922
    Thanks G/R
    1/3
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    IDC script to rename function accord to FearAndLawyering dumps.

    All offset is relative (rebase 0x1000 in IDA).Functions.zip

  5. #80
    moritzmdm's Avatar Member
    Reputation
    1
    Join Date
    Jan 2009
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    //Edited ma post
    Last edited by moritzmdm; 11-30-2011 at 12:38 PM.

  6. #81
    mnbvc's Avatar Banned
    Reputation
    120
    Join Date
    Jul 2009
    Posts
    273
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    edit -> segments -> anything with rebase :P

  7. #82
    natt_'s Avatar Contributor
    Reputation
    145
    Join Date
    Dec 2007
    Posts
    391
    Thanks G/R
    13/0
    Trade Feedback
    3 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by rafalsk View Post
    has anyone found a pointer to continentName? I mean the variable that took values like "Kalimdor","Expansion01","Northrend". I used to have no problems with that one. The functions I had signatures of seem to not exist and no luck with CE,nor does it seem to be static from WoW.exe.
    if you read through the thread you will understand why

  8. #83
    Muhrock's Avatar Private
    Reputation
    1
    Join Date
    Jul 2010
    Posts
    12
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    has someone the pointer for GlobalCooldown the old one was 0xD3F5AC? thx for help

  9. #84
    _Mike's Avatar Contributor
    Reputation
    310
    Join Date
    Apr 2008
    Posts
    531
    Thanks G/R
    0/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by rafalsk View Post
    has anyone found a pointer to continentName? I mean the variable that took values like "Kalimdor","Expansion01","Northrend". I used to have no problems with that one. The functions I had signatures of seem to not exist and no luck with CE,nor does it seem to be static from WoW.exe.
    This one?
    [[base+0x9162A0]+0x28DC]
    Originally Posted by natt_ View Post
    if you read through the thread you will understand why
    I've read the thread, still don't understand why.. Explain please

  10. #85
    rafalsk's Avatar Active Member
    Reputation
    17
    Join Date
    Jul 2009
    Posts
    194
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    woah thanks^^ how did you find that one, took me ages with no luck, though seemed to be an easy one.

  11. #86
    _Mike's Avatar Contributor
    Reputation
    310
    Join Date
    Apr 2008
    Posts
    531
    Thanks G/R
    0/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    IDA + CE
    Find the string address in CE, "Find out what writes to this address", back-trace it to a static address in IDA

  12. #87
    boredevil's Avatar Active Member
    Reputation
    46
    Join Date
    Feb 2008
    Posts
    166
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Edited Script to Dump/Label Databases. Thx to TOM_RUS for the script and BobbySing (some functions and the idea to dump als #defines)

    To make life easyer it Dumps the Databases as #define macros and adds a #define on Top, where you can insert your Function/variable that holds the baseoffset (NULL) by default.

    At the Start of main() you can set some variables to customize the output:

    Code:
        sPrefix = "g_DB_";				// Prefix of the Databases dumped and labeled
        sClassName = "(CClientDB*)";		// Classname to apply to the #define macros - leave empty if you just need the offsets
        bLabel = 0;					// 0 = Dump only  1 = Dump + LabelDatabases in IDA
        sPath = GetTargetPath() + "Database_Enum.h";
    The Dump gets saved in /IDA/Output, so make sure the directory exists.

    IDC Script:
    Code:
    #include <ida.idc>
    
    /************************************************************************
       Desc:                Label and Dump each database with an appropriate name and struct
       Author:  kynox
       Modified for Cataclysm by TOM_RUS
       Modified to Dump Databases by BoredEvil
       Credits To: Bobbysing GetWoWVersionString(), static ExtractPath( sPath ),static GetTargetPath()
       Website: http://www.gamedeception.net
    *************************************************************************/
    
    static GetWoWVersionString()
    {
        auto sVersion, sBuild, sDate;
    
        sVersion = FindBinary( INF_BASEADDR, SEARCH_DOWN, "\"=> WoW Version %s (%s) %s\"" );
    
        if( sVersion == BADADDR )
        {
            Message( "Version format string not found" );
            return 0;
        }
    
        sVersion = DfirstB( sVersion );
    
        if( sVersion == BADADDR )
        {
            Message( "Version string unreferences" );
            return 0;
        }
        
        sVersion = PrevHead( sVersion, 0 );
        sBuild = PrevHead( sVersion, 0 );
        sDate = PrevHead( sBuild, 0 );
    
        sVersion = GetOperandValue( sVersion, 0 );
        sBuild = GetOperandValue( sBuild, 0 );
        sDate = GetOperandValue( sDate, 0 );
    
        sVersion = GetString( sVersion, -1, ASCSTR_C );
        sBuild = GetString( sBuild, -1, ASCSTR_C );
        sDate = GetString( sDate, -1, ASCSTR_C );
    
        return form( "Version: %s  Build number: %s  Build date: %s\n", sVersion, sBuild, sDate );
    }
    
    static ExtractPath( sPath )
    {
        auto dwIndex;
        for( dwIndex = strlen( sPath ); strstr( substr( sPath, dwIndex, -1 ), "\\" ); dwIndex-- );
        return substr( sPath, 0, dwIndex + 1 );
    }
    
    static GetTargetPath()
    {
        return ExtractPath( GetIdbPath() ) + "IDC\\Output\\";
    }
    
    
    static WoWDb_GetName( dbBase )
    {
        auto dbName;
    
        // mov     eax, offset aDbfilesclientA ; "DBFilesClient\\Achievement.dbc"
        dbName = GetString( Dword(dbBase), -1, ASCSTR_C );
    
        //Message("%s", dbName);
    
        // Return the the token after \ and before .
        return substr( dbName, strstr( dbName, "\\" ) + 1, -5 );
    }
    
    static BuildStruct()
    {
        // struct size changed, need figure out what was removed....
        auto id;
        id = AddStrucEx(-1,"WoWClientDB",0);
    
        AddStrucMember(id, "funcTable",   0X00,   0x20500400,     0X0,    4,      0XFFFFFFFF,     0X0,    0x000002);
        AddStrucMember(id, "numRows",     0X04,   0x20000400,     -1,     4);
        AddStrucMember(id, "maxIndex",    0X08,   0x20000400,     -1,     4);
        AddStrucMember(id, "minIndex",    0X0C,   0x20000400,     -1,     4);
        AddStrucMember(id, "stringTable", 0X10,   0x20000400,     -1,     4);
        AddStrucMember(id, "FirstRow",    0X14,   0x20000400,     -1,     4);
        AddStrucMember(id, "Rows",        0X18,   0x25500400,     0XFFFFFFFF,     4,      0XFFFFFFFF,     0X0,    0x000002);
    
        return id;
    }
    
    static StructBuilt()
    {
        return ( GetStrucIdByName( "WoWClientDB" ) != -1 );
    }
    
    
    static HandleLoadLoop(xref, hFile, sPrefix,sClassName,bLabel)
    {
        auto count;
    
        do
        {
            auto dbNameOffset, dbStruct, dbName;
            
            dbStruct = Dword(xref);
            dbNameOffset = Dword(xref + 4);
            
            if(dbStruct == 0 || dbNameOffset == 0)
                break;
    
            dbName = WoWDb_GetName(dbNameOffset);
    
            
    
        if(bLabel)
            {
            Message("Labeling : %X %X %s\n", dbStruct, dbNameOffset, dbName);
                SetType( dbStruct, "WoWClientDB;" );
                   MakeStruct( dbStruct, "WoWClientDB" );
                   MakeName( dbStruct, form( sPrefix + dbName ) );
            }
        Message("Dumping : #define " + sPrefix +  "%s (" + sClassName +  " DB_BaseOffset + 0x%08X)\n", dbName, dbStruct);
        fprintf( hFile, "#define " + sPrefix +  "%s (" + sClassName +  " DB_BaseOffset + 0x%08X)\n", dbName, dbStruct );
            xref = xref + 8;
            count++;
        } while(1);
        return count;
    }
    
    static GetNameEffset( xref )
    {
        auto offset, dbName;
        offset = ReadOperand( xref, "push", "offset" );
        dbName = GetString( Dword(offset), -1, ASCSTR_C );
        if(strstr( dbName, ".dbc" ) > -1)
            return offset;
        return BADADDR;
    }
    
    static ReadOperand( xref, operand, filter )
    {
        auto prevFunc;
        prevFunc = PrevFunction( xref );
        //Message("%X %X\n", xref, prevFunc);
        do
        {
            auto disasm;
            disasm = GetDisasm( xref );
    
            if ( strstr( disasm, operand ) > -1 && strstr( disasm, filter ) > -1 )
                break;
    
            xref = PrevHead( xref, prevFunc );
        } while ( 1 );
    
        return GetOperandValue( xref, operand == "mov" ? 1 : 0);
    }
    
    static main()
    {
        auto curAddr, y, count, hFile, sPath,sPrefix,sClassName,bLabel;
    
    
        ///////////////////////////////////////////
        /////// Customisation start
        ///////////////////////////////////////////    
    
        sPrefix = "g_DB_";                // Prefix of the Databases dumped and labeled
        sClassName = "(CClientDB*)";        // Classname to apply to the #define macros - leave empty if you just need the offsets
        bLabel = 0;                    // 0 = Dump only  1 = Dump + LabelDatabases in IDA
        sPath = GetTargetPath() + "Database_Enum.h";
        
        ///////////////////////////////////////////    
        /////// Customisation end
        ///////////////////////////////////////////
    
    
    
    
        //                                     55 8B EC 51 53 56 57 8B 7D 08 8D 45 08 89 4D FC 8B 0F 50 51 E8 ? ? ? ? 83 7D 08 00 75 15 8B
        //curAddr = FindBinary( 0, SEARCH_DOWN, "55 8B EC 51 53 56 8B 75 08 57 8D 45 08 8B D9 8B 0E 50 51 E8 ? ? ? ? 83 7D 08 00 75 15 8B 16" );
        //                                     55 8B EC 81 EC 04 01 00 00 53 56 57 8B 7D 08 8D 45 08 89 4D FC 8B 0F 50 51 E8 ? ? ? ? 83 7D
        //curAddr = FindBinary( 0, SEARCH_DOWN, "55 8B EC 51 53 56 57 8B 7D 08 8D 45 08 89 4D FC 8B 0F 50 51 E8 ? ? ? ? 83 7D 08 00 75 15 8B" );
        curAddr = FindBinary( 0, SEARCH_DOWN, "55 8B EC 81 EC 04 01 00 00 53 56 57 8B 7D 08 8D 45 08 89 4D FC 8B 0F 50 51 E8 ? ? ? ? 83 7D" );
    
    
        if(curAddr == BADADDR)
        {
            Message("Can't find dbcLoadFunction, aborting...\n");
            return -1;
        }
    
        if ( !StructBuilt() )
        {
            Message( "Building struct..\n" );
    
            if( BuildStruct() == -1 )
            {
                Message( "Failed to build struct..\n" );
                return;
            }
        }
    
    
    
    
        hFile = fopen(sPath,"w");    
    
        if(hFile == -1)
        {
           return 0;
        }
        fprintf( hFile, "#ifndef __DATABASE_ENUM_H__\n#define __DATABASE_ENUM_H__\n\n" );
        fprintf(hFile,"//" + GetWoWVersionString() + "\n\n");
        fprintf( hFile, "#define " + sPrefix +  "BaseOffset ( 0 )\n\n" );
         
        
        
        for(y = RfirstB(curAddr); y != BADADDR; y = RnextB(curAddr, y))
        {
            auto dbNameOffset, dbStruct, dbName;
    
            dbStruct = ReadOperand(y, "mov", "offset");
            dbNameOffset = GetNameEffset(y);
    
            Message("%X %X %X\n", y, dbStruct, dbNameOffset);
    
            if(dbNameOffset == BADADDR)
            {
                count = count + HandleLoadLoop(dbStruct, hFile, sPrefix,sClassName, bLabel);
                continue;
            }
    
        if(bLabel)
            {
              SetType( dbStruct, "WoWClientDB;" );
              MakeStruct( dbStruct, "WoWClientDB" );
            }
    
            dbName = WoWDb_GetName( dbNameOffset );
    
            Message("%s\n", dbName);
    
            //MakeName( dbStruct, form( sPrefix + dbName, dbName ) );
     
            count++;
        }
    
        fprintf( hFile, "\n#endif //__DATABASE_ENUM_H__" );
        fclose(hFile);
        Message("DBC count %u\n", count);
    }
    Sample Output:
    Code:
    #ifndef __DATABASE_ENUM_H__
    #define __DATABASE_ENUM_H__
    
    //Version: 4.0.1  Build number: 13164  Build date: Oct  6 2010
    
    
    #define DB_BaseOffset ( NULL )
    
    #define DB_AnimationData ((CClientDB*) DB_BaseOffset + 0x00796C54)
    #define DB_LiquidMaterial ((CClientDB*) DB_BaseOffset + 0x00796C70)
    #define DB_LiquidObject ((CClientDB*) DB_BaseOffset + 0x00796C8C)
    #define DB_LiquidType ((CClientDB*) DB_BaseOffset + 0x00796CA8)
    #define DB_SoundEntriesAdvanced ((CClientDB*) DB_BaseOffset + 0x00796CC4)
    #define DB_SoundEntries ((CClientDB*) DB_BaseOffset + 0x00796CE0)
    #define DB_SoundEntriesFallbacks ((CClientDB*) DB_BaseOffset + 0x00796CFC)
    #define DB_TerrainMaterial ((CClientDB*) DB_BaseOffset + 0x00796D18)
    #define DB_Achievement ((CClientDB*) DB_BaseOffset + 0x00797934)
    #define DB_Achievement_Criteria ((CClientDB*) DB_BaseOffset + 0x00797950)
    #define DB_Achievement_Category ((CClientDB*) DB_BaseOffset + 0x0079796C)
    #define DB_AnimKit ((CClientDB*) DB_BaseOffset + 0x00797988)
    #define DB_AnimKitBoneSet ((CClientDB*) DB_BaseOffset + 0x007979A4)
    #define DB_AnimKitBoneSetAlias ((CClientDB*) DB_BaseOffset + 0x007979C0)
    #define DB_AnimKitConfig ((CClientDB*) DB_BaseOffset + 0x007979DC)
    #define DB_AnimKitConfigBoneSet ((CClientDB*) DB_BaseOffset + 0x007979F8)
    #define DB_AnimKitPriority ((CClientDB*) DB_BaseOffset + 0x00797A14)
    #define DB_AnimKitSegment ((CClientDB*) DB_BaseOffset + 0x00797A30)
    #define DB_AnimReplacement ((CClientDB*) DB_BaseOffset + 0x00797A4C)
    #define DB_AnimReplacementSet ((CClientDB*) DB_BaseOffset + 0x00797A68)
    #define DB_AreaGroup ((CClientDB*) DB_BaseOffset + 0x00797A84)
    #define DB_AreaPOI ((CClientDB*) DB_BaseOffset + 0x00797AA0)
    #define DB_AreaPOISortedWorldState ((CClientDB*) DB_BaseOffset + 0x00797ABC)
    #define DB_AreaTable ((CClientDB*) DB_BaseOffset + 0x00797AD8)
    #define DB_AreaAssignment ((CClientDB*) DB_BaseOffset + 0x00797AF4)
    #define DB_AreaTrigger ((CClientDB*) DB_BaseOffset + 0x00797B10)
    #define DB_ArmorLocation ((CClientDB*) DB_BaseOffset + 0x00797B2C)
    #define DB_AuctionHouse ((CClientDB*) DB_BaseOffset + 0x00797B48)
    #define DB_BankBagSlotPrices ((CClientDB*) DB_BaseOffset + 0x00797B64)
    #define DB_BannedAddOns ((CClientDB*) DB_BaseOffset + 0x00797B80)
    #define DB_BarberShopStyle ((CClientDB*) DB_BaseOffset + 0x00797B9C)
    #define DB_BattlemasterList ((CClientDB*) DB_BaseOffset + 0x00797BB8)
    #define DB_CameraMode ((CClientDB*) DB_BaseOffset + 0x00797BD4)
    #define DB_CameraShakes ((CClientDB*) DB_BaseOffset + 0x00797BF0)
    #define DB_CastableRaidBuffs ((CClientDB*) DB_BaseOffset + 0x00797C0C)
    #define DB_Cfg_Categories ((CClientDB*) DB_BaseOffset + 0x00797C28)
    #define DB_Cfg_Configs ((CClientDB*) DB_BaseOffset + 0x00797C44)
    #define DB_CharBaseInfo ((CClientDB*) DB_BaseOffset + 0x00797C60)
    #define DB_CharHairGeosets ((CClientDB*) DB_BaseOffset + 0x00797C7C)
    #define DB_CharSections ((CClientDB*) DB_BaseOffset + 0x00797C98)
    #define DB_CharStartOutfit ((CClientDB*) DB_BaseOffset + 0x00797CB4)
    #define DB_CharTitles ((CClientDB*) DB_BaseOffset + 0x00797CD0)
    #define DB_CharacterFacialHairStyles ((CClientDB*) DB_BaseOffset + 0x00797CEC)
    #define DB_ChatChannels ((CClientDB*) DB_BaseOffset + 0x00797D08)
    #define DB_ChatProfanity ((CClientDB*) DB_BaseOffset + 0x00797D24)
    #define DB_ChrClasses ((CClientDB*) DB_BaseOffset + 0x00797D40)
    #define DB_ChrRaces ((CClientDB*) DB_BaseOffset + 0x00797D5C)
    #define DB_CinematicCamera ((CClientDB*) DB_BaseOffset + 0x00797D78)
    #define DB_CinematicSequences ((CClientDB*) DB_BaseOffset + 0x00797D94)
    #define DB_CreatureDisplayInfoExtra ((CClientDB*) DB_BaseOffset + 0x00797DB0)
    #define DB_CreatureDisplayInfo ((CClientDB*) DB_BaseOffset + 0x00797DCC)
    #define DB_CreatureFamily ((CClientDB*) DB_BaseOffset + 0x00797DE8)
    #define DB_CreatureModelData ((CClientDB*) DB_BaseOffset + 0x00797E04)
    #define DB_CreatureMovementInfo ((CClientDB*) DB_BaseOffset + 0x00797E20)
    #define DB_CreatureSoundData ((CClientDB*) DB_BaseOffset + 0x00797E3C)
    #define DB_CreatureSpellData ((CClientDB*) DB_BaseOffset + 0x00797E58)
    #define DB_CreatureType ((CClientDB*) DB_BaseOffset + 0x00797E74)
    #define DB_CurrencyTypes ((CClientDB*) DB_BaseOffset + 0x00797E90)
    #define DB_CurrencyCategory ((CClientDB*) DB_BaseOffset + 0x00797EAC)
    #define DB_DanceMoves ((CClientDB*) DB_BaseOffset + 0x00797EC8)
    #define DB_DeathThudLookups ((CClientDB*) DB_BaseOffset + 0x00797EE4)
    #define DB_DestructibleModelData ((CClientDB*) DB_BaseOffset + 0x00797F38)
    #define DB_DungeonEncounter ((CClientDB*) DB_BaseOffset + 0x00797F54)
    #define DB_DungeonMap ((CClientDB*) DB_BaseOffset + 0x00797F70)
    #define DB_DungeonMapChunk ((CClientDB*) DB_BaseOffset + 0x00797F8C)
    #define DB_DurabilityCosts ((CClientDB*) DB_BaseOffset + 0x00797FA8)
    #define DB_DurabilityQuality ((CClientDB*) DB_BaseOffset + 0x00797FC4)
    #define DB_Emotes ((CClientDB*) DB_BaseOffset + 0x00797FE0)
    #define DB_EmotesTextData ((CClientDB*) DB_BaseOffset + 0x00797FFC)
    #define DB_EmotesTextSound ((CClientDB*) DB_BaseOffset + 0x00798018)
    #define DB_EmotesText ((CClientDB*) DB_BaseOffset + 0x00798034)
    #define DB_EnvironmentalDamage ((CClientDB*) DB_BaseOffset + 0x00798050)
    #define DB_Exhaustion ((CClientDB*) DB_BaseOffset + 0x0079806C)
    #define DB_FactionGroup ((CClientDB*) DB_BaseOffset + 0x00798088)
    #define DB_Faction ((CClientDB*) DB_BaseOffset + 0x007980A4)
    #define DB_FactionTemplate ((CClientDB*) DB_BaseOffset + 0x007980C0)
    #define DB_FileData ((CClientDB*) DB_BaseOffset + 0x007980DC)
    #define DB_FootprintTextures ((CClientDB*) DB_BaseOffset + 0x007980F8)
    #define DB_FootstepTerrainLookup ((CClientDB*) DB_BaseOffset + 0x00798114)
    #define DB_GameObjectArtKit ((CClientDB*) DB_BaseOffset + 0x00798130)
    #define DB_GameObjectDisplayInfo ((CClientDB*) DB_BaseOffset + 0x0079814C)
    #define DB_GameTables ((CClientDB*) DB_BaseOffset + 0x00798168)
    #define DB_GameTips ((CClientDB*) DB_BaseOffset + 0x00798184)
    #define DB_GemProperties ((CClientDB*) DB_BaseOffset + 0x007981A0)
    #define DB_GlueScreenEmote ((CClientDB*) DB_BaseOffset + 0x007981BC)
    #define DB_GlyphProperties ((CClientDB*) DB_BaseOffset + 0x007981D8)
    #define DB_GlyphSlot ((CClientDB*) DB_BaseOffset + 0x007981F4)
    #define DB_GMSurveyAnswers ((CClientDB*) DB_BaseOffset + 0x00798210)
    #define DB_GMSurveyCurrentSurvey ((CClientDB*) DB_BaseOffset + 0x0079822C)
    #define DB_GMSurveyQuestions ((CClientDB*) DB_BaseOffset + 0x00798248)
    #define DB_GMSurveySurveys ((CClientDB*) DB_BaseOffset + 0x00798264)
    #define DB_GMTicketCategory ((CClientDB*) DB_BaseOffset + 0x00798280)
    #define DB_GroundEffectDoodad ((CClientDB*) DB_BaseOffset + 0x0079829C)
    #define DB_GroundEffectTexture ((CClientDB*) DB_BaseOffset + 0x007982B8)
    #define DB_gtBarberShopCostBase ((CClientDB*) DB_BaseOffset + 0x007982D4)
    #define DB_gtCombatRatings ((CClientDB*) DB_BaseOffset + 0x007982F0)
    #define DB_gtChanceToMeleeCrit ((CClientDB*) DB_BaseOffset + 0x0079830C)
    #define DB_gtChanceToMeleeCritBase ((CClientDB*) DB_BaseOffset + 0x00798328)
    #define DB_gtChanceToSpellCrit ((CClientDB*) DB_BaseOffset + 0x00798344)
    #define DB_gtChanceToSpellCritBase ((CClientDB*) DB_BaseOffset + 0x00798360)
    #define DB_gtNPCManaCostScaler ((CClientDB*) DB_BaseOffset + 0x0079837C)
    #define DB_gtOCTClassCombatRatingScalar ((CClientDB*) DB_BaseOffset + 0x00798398)
    #define DB_gtOCTRegenMP ((CClientDB*) DB_BaseOffset + 0x007983B4)
    #define DB_gtRegenMPPerSpt ((CClientDB*) DB_BaseOffset + 0x007983D0)
    #define DB_gtSpellScaling ((CClientDB*) DB_BaseOffset + 0x00798408)
    #define DB_gtShieldBlockRegular ((CClientDB*) DB_BaseOffset + 0x007983EC)
    #define DB_GuildColorBackground ((CClientDB*) DB_BaseOffset + 0x00798424)
    #define DB_GuildColorBorder ((CClientDB*) DB_BaseOffset + 0x00798440)
    #define DB_GuildColorEmblem ((CClientDB*) DB_BaseOffset + 0x0079845C)
    #define DB_GuildPerkSpells ((CClientDB*) DB_BaseOffset + 0x00798478)
    #define DB_HelmetGeosetVisData ((CClientDB*) DB_BaseOffset + 0x00798494)
    #define DB_HolidayDescriptions ((CClientDB*) DB_BaseOffset + 0x007984B0)
    #define DB_HolidayNames ((CClientDB*) DB_BaseOffset + 0x007984CC)
    #define DB_Holidays ((CClientDB*) DB_BaseOffset + 0x007984E8)
    #define DB_ItemArmorQuality ((CClientDB*) DB_BaseOffset + 0x00798520)
    #define DB_ItemArmorTotal ((CClientDB*) DB_BaseOffset + 0x00798504)
    #define DB_ItemArmorShield ((CClientDB*) DB_BaseOffset + 0x0079853C)
    #define DB_ItemBagFamily ((CClientDB*) DB_BaseOffset + 0x00798558)
    #define DB_ItemClass ((CClientDB*) DB_BaseOffset + 0x00798574)
    #define DB_ItemCurrencyCost ((CClientDB*) DB_BaseOffset + 0x00798590)
    #define DB_ItemDamageAmmo ((CClientDB*) DB_BaseOffset + 0x007985AC)
    #define DB_ItemDamageOneHand ((CClientDB*) DB_BaseOffset + 0x007985C8)
    #define DB_ItemDamageOneHandCaster ((CClientDB*) DB_BaseOffset + 0x007985E4)
    #define DB_ItemDamageRanged ((CClientDB*) DB_BaseOffset + 0x00798600)
    #define DB_ItemDamageThrown ((CClientDB*) DB_BaseOffset + 0x0079861C)
    #define DB_ItemDamageTwoHand ((CClientDB*) DB_BaseOffset + 0x00798638)
    #define DB_ItemDamageTwoHandCaster ((CClientDB*) DB_BaseOffset + 0x00798654)
    #define DB_ItemDamageWand ((CClientDB*) DB_BaseOffset + 0x00798670)
    #define DB_ItemDisenchantLoot ((CClientDB*) DB_BaseOffset + 0x0079868C)
    #define DB_ItemDisplayInfo ((CClientDB*) DB_BaseOffset + 0x007986A8)
    #define DB_ItemExtendedCost ((CClientDB*) DB_BaseOffset + 0x007986C8)
    #define DB_ItemGroupSounds ((CClientDB*) DB_BaseOffset + 0x007986E4)
    #define DB_ItemLimitCategory ((CClientDB*) DB_BaseOffset + 0x00798700)
    #define DB_ItemPetFood ((CClientDB*) DB_BaseOffset + 0x0079871C)
    #define DB_ItemPurchaseGroup ((CClientDB*) DB_BaseOffset + 0x00798738)
    #define DB_ItemRandomProperties ((CClientDB*) DB_BaseOffset + 0x00798754)
    #define DB_ItemRandomSuffix ((CClientDB*) DB_BaseOffset + 0x00798770)
    #define DB_ItemReforge ((CClientDB*) DB_BaseOffset + 0x0079878C)
    #define DB_ItemSet ((CClientDB*) DB_BaseOffset + 0x007987A8)
    #define DB_ItemSubClassMask ((CClientDB*) DB_BaseOffset + 0x007987C4)
    #define DB_ItemSubClass ((CClientDB*) DB_BaseOffset + 0x007987E0)
    #define DB_ItemVisualEffects ((CClientDB*) DB_BaseOffset + 0x007987FC)
    #define DB_ItemVisuals ((CClientDB*) DB_BaseOffset + 0x00798818)
    #define DB_LanguageWords ((CClientDB*) DB_BaseOffset + 0x00798834)
    #define DB_Languages ((CClientDB*) DB_BaseOffset + 0x00798850)
    #define DB_LfgDungeonExpansion ((CClientDB*) DB_BaseOffset + 0x0079886C)
    #define DB_LfgDungeonGroup ((CClientDB*) DB_BaseOffset + 0x00798888)
    #define DB_LfgDungeons ((CClientDB*) DB_BaseOffset + 0x007988A4)
    #define DB_Light ((CClientDB*) DB_BaseOffset + 0x007A15FC)
    #define DB_LightFloatBand ((CClientDB*) DB_BaseOffset + 0x007A15C0)
    #define DB_LightIntBand ((CClientDB*) DB_BaseOffset + 0x007A15A0)
    #define DB_LightParams ((CClientDB*) DB_BaseOffset + 0x007A15E0)
    #define DB_LightSkybox ((CClientDB*) DB_BaseOffset + 0x007A1584)
    #define DB_LoadingScreens ((CClientDB*) DB_BaseOffset + 0x007988C0)
    #define DB_LoadingScreenTaxiSplines ((CClientDB*) DB_BaseOffset + 0x007988DC)
    #define DB_Lock ((CClientDB*) DB_BaseOffset + 0x007988F8)
    #define DB_LockType ((CClientDB*) DB_BaseOffset + 0x00798914)
    #define DB_MailTemplate ((CClientDB*) DB_BaseOffset + 0x00798930)
    #define DB_Map ((CClientDB*) DB_BaseOffset + 0x0079894C)
    #define DB_MapDifficulty ((CClientDB*) DB_BaseOffset + 0x00798968)
    #define DB_Material ((CClientDB*) DB_BaseOffset + 0x00798984)
    #define DB_MountCapability ((CClientDB*) DB_BaseOffset + 0x007989A0)
    #define DB_MountType ((CClientDB*) DB_BaseOffset + 0x007989BC)
    #define DB_Movie ((CClientDB*) DB_BaseOffset + 0x007989D8)
    #define DB_MovieFileData ((CClientDB*) DB_BaseOffset + 0x007989F4)
    #define DB_MovieVariation ((CClientDB*) DB_BaseOffset + 0x00798A10)
    #define DB_NameGen ((CClientDB*) DB_BaseOffset + 0x00798A2C)
    #define DB_NPCSounds ((CClientDB*) DB_BaseOffset + 0x00798A48)
    #define DB_NamesProfanity ((CClientDB*) DB_BaseOffset + 0x00798A80)
    #define DB_NamesReserved ((CClientDB*) DB_BaseOffset + 0x00798A9C)
    #define DB_NumTalentsAtLevel ((CClientDB*) DB_BaseOffset + 0x00798A64)
    #define DB_OverrideSpellData ((CClientDB*) DB_BaseOffset + 0x00798AB8)
    #define DB_Package ((CClientDB*) DB_BaseOffset + 0x00798AD4)
    #define DB_PageTextMaterial ((CClientDB*) DB_BaseOffset + 0x00798AF0)
    #define DB_PaperDollItemFrame ((CClientDB*) DB_BaseOffset + 0x00798B0C)
    #define DB_ParticleColor ((CClientDB*) DB_BaseOffset + 0x00798B28)
    #define DB_PetPersonality ((CClientDB*) DB_BaseOffset + 0x00798B44)
    #define DB_Phase ((CClientDB*) DB_BaseOffset + 0x00798B60)
    #define DB_PhaseXPhaseGroup ((CClientDB*) DB_BaseOffset + 0x00798B98)
    #define DB_PowerDisplay ((CClientDB*) DB_BaseOffset + 0x00798BB4)
    #define DB_PvpDifficulty ((CClientDB*) DB_BaseOffset + 0x00798BD0)
    #define DB_QuestFactionReward ((CClientDB*) DB_BaseOffset + 0x00798BEC)
    #define DB_QuestInfo ((CClientDB*) DB_BaseOffset + 0x00798C08)
    #define DB_QuestPOIBlob ((CClientDB*) DB_BaseOffset + 0x00798C24)
    #define DB_QuestPOIPoint ((CClientDB*) DB_BaseOffset + 0x00798C40)
    #define DB_QuestSort ((CClientDB*) DB_BaseOffset + 0x00798C5C)
    #define DB_QuestXP ((CClientDB*) DB_BaseOffset + 0x00798C78)
    #define DB_Resistances ((CClientDB*) DB_BaseOffset + 0x00798C94)
    #define DB_ResearchBranch ((CClientDB*) DB_BaseOffset + 0x00798CE8)
    #define DB_ResearchField ((CClientDB*) DB_BaseOffset + 0x00798CCC)
    #define DB_ResearchProject ((CClientDB*) DB_BaseOffset + 0x00798D04)
    #define DB_ResearchSite ((CClientDB*) DB_BaseOffset + 0x00798D20)
    #define DB_RandPropPoints ((CClientDB*) DB_BaseOffset + 0x00798CB0)
    #define DB_ScalingStatDistribution ((CClientDB*) DB_BaseOffset + 0x00798D3C)
    #define DB_ScalingStatValues ((CClientDB*) DB_BaseOffset + 0x00798D58)
    #define DB_ScreenEffect ((CClientDB*) DB_BaseOffset + 0x00798D74)
    #define DB_ScreenLocation ((CClientDB*) DB_BaseOffset + 0x00798D90)
    #define DB_ServerMessages ((CClientDB*) DB_BaseOffset + 0x00798DAC)
    #define DB_SkillLineAbility ((CClientDB*) DB_BaseOffset + 0x00798DC8)
    #define DB_SkillLineAbilitySortedSpell ((CClientDB*) DB_BaseOffset + 0x00798DE4)
    #define DB_SkillLineCategory ((CClientDB*) DB_BaseOffset + 0x00798E00)
    #define DB_SkillLine ((CClientDB*) DB_BaseOffset + 0x00798E1C)
    #define DB_SkillRaceClassInfo ((CClientDB*) DB_BaseOffset + 0x00798E38)
    #define DB_SkillTiers ((CClientDB*) DB_BaseOffset + 0x00798E54)
    #define DB_SoundAmbience ((CClientDB*) DB_BaseOffset + 0x00798E70)
    #define DB_SoundEmitters ((CClientDB*) DB_BaseOffset + 0x00798E8C)
    #define DB_SoundProviderPreferences ((CClientDB*) DB_BaseOffset + 0x00798EA8)
    #define DB_SpamMessages ((CClientDB*) DB_BaseOffset + 0x00798EC4)
    #define DB_SpellActivationOverlay ((CClientDB*) DB_BaseOffset + 0x00798EE0)
    #define DB_SpellAuraOptions ((CClientDB*) DB_BaseOffset + 0x00798EFC)
    #define DB_SpellAuraRestrictions ((CClientDB*) DB_BaseOffset + 0x00798F18)
    #define DB_SpellCastingRequirements ((CClientDB*) DB_BaseOffset + 0x00798F34)
    #define DB_SpellCastTimes ((CClientDB*) DB_BaseOffset + 0x00798F50)
    #define DB_SpellCategories ((CClientDB*) DB_BaseOffset + 0x00798F6C)
    #define DB_SpellCategory ((CClientDB*) DB_BaseOffset + 0x00798F88)
    #define DB_SpellChainEffects ((CClientDB*) DB_BaseOffset + 0x00798FA4)
    #define DB_SpellClassOptions ((CClientDB*) DB_BaseOffset + 0x00798FC0)
    #define DB_SpellCooldowns ((CClientDB*) DB_BaseOffset + 0x00798FDC)
    #define DB_Spell ((CClientDB*) DB_BaseOffset + 0x0079927C)
    #define DB_SpellDescriptionVariables ((CClientDB*) DB_BaseOffset + 0x00798FF8)
    #define DB_SpellDifficulty ((CClientDB*) DB_BaseOffset + 0x00799014)
    #define DB_SpellDispelType ((CClientDB*) DB_BaseOffset + 0x00799030)
    #define DB_SpellDuration ((CClientDB*) DB_BaseOffset + 0x0079904C)
    #define DB_SpellEffect ((CClientDB*) DB_BaseOffset + 0x00799068)
    #define DB_SpellEffectCameraShakes ((CClientDB*) DB_BaseOffset + 0x00799084)
    #define DB_SpellEquippedItems ((CClientDB*) DB_BaseOffset + 0x007990A0)
    #define DB_SpellFlyout ((CClientDB*) DB_BaseOffset + 0x007990BC)
    #define DB_SpellFlyoutItem ((CClientDB*) DB_BaseOffset + 0x007990D8)
    #define DB_SpellFocusObject ((CClientDB*) DB_BaseOffset + 0x007990F4)
    #define DB_SpellIcon ((CClientDB*) DB_BaseOffset + 0x00799110)
    #define DB_SpellInterrupts ((CClientDB*) DB_BaseOffset + 0x0079912C)
    #define DB_SpellItemEnchantment ((CClientDB*) DB_BaseOffset + 0x00799148)
    #define DB_SpellItemEnchantmentCondition ((CClientDB*) DB_BaseOffset + 0x00799164)
    #define DB_SpellLevels ((CClientDB*) DB_BaseOffset + 0x00799180)
    #define DB_SpellMechanic ((CClientDB*) DB_BaseOffset + 0x0079919C)
    #define DB_SpellMissile ((CClientDB*) DB_BaseOffset + 0x007991B8)
    #define DB_SpellMissileMotion ((CClientDB*) DB_BaseOffset + 0x007991D4)
    #define DB_SpellRadius ((CClientDB*) DB_BaseOffset + 0x0079920C)
    #define DB_SpellRange ((CClientDB*) DB_BaseOffset + 0x00799228)
    #define DB_SpellPower ((CClientDB*) DB_BaseOffset + 0x007991F0)
    #define DB_SpellReagents ((CClientDB*) DB_BaseOffset + 0x00799260)
    #define DB_SpellRuneCost ((CClientDB*) DB_BaseOffset + 0x00799244)
    #define DB_SpellScaling ((CClientDB*) DB_BaseOffset + 0x00799298)
    #define DB_SpellShapeshift ((CClientDB*) DB_BaseOffset + 0x007992B4)
    #define DB_SpellShapeshiftForm ((CClientDB*) DB_BaseOffset + 0x007992D0)
    #define DB_SpellTargetRestrictions ((CClientDB*) DB_BaseOffset + 0x007992EC)
    #define DB_SpellTotems ((CClientDB*) DB_BaseOffset + 0x00799308)
    #define DB_SpellVisual ((CClientDB*) DB_BaseOffset + 0x00799394)
    #define DB_SpellVisualEffectName ((CClientDB*) DB_BaseOffset + 0x00799324)
    #define DB_SpellVisualKit ((CClientDB*) DB_BaseOffset + 0x00799340)
    #define DB_SpellVisualKitAreaModel ((CClientDB*) DB_BaseOffset + 0x0079935C)
    #define DB_SpellVisualKitModelAttach ((CClientDB*) DB_BaseOffset + 0x00799378)
    #define DB_Stationery ((CClientDB*) DB_BaseOffset + 0x007993B0)
    #define DB_StringLookups ((CClientDB*) DB_BaseOffset + 0x007993CC)
    #define DB_SummonProperties ((CClientDB*) DB_BaseOffset + 0x007993E8)
    #define DB_Talent ((CClientDB*) DB_BaseOffset + 0x00799404)
    #define DB_TalentTab ((CClientDB*) DB_BaseOffset + 0x00799420)
    #define DB_TalentTreePrimarySpells ((CClientDB*) DB_BaseOffset + 0x0079943C)
    #define DB_TaxiNodes ((CClientDB*) DB_BaseOffset + 0x00799458)
    #define DB_TaxiPathNode ((CClientDB*) DB_BaseOffset + 0x00799474)
    #define DB_TaxiPath ((CClientDB*) DB_BaseOffset + 0x00799490)
    #define DB_TerrainType ((CClientDB*) DB_BaseOffset + 0x007994AC)
    #define DB_TerrainTypeSounds ((CClientDB*) DB_BaseOffset + 0x007994C8)
    #define DB_TotemCategory ((CClientDB*) DB_BaseOffset + 0x007994E4)
    #define DB_TransportAnimation ((CClientDB*) DB_BaseOffset + 0x00799500)
    #define DB_TransportPhysics ((CClientDB*) DB_BaseOffset + 0x0079951C)
    #define DB_TransportRotation ((CClientDB*) DB_BaseOffset + 0x00799538)
    #define DB_UnitBloodLevels ((CClientDB*) DB_BaseOffset + 0x00799554)
    #define DB_UnitBlood ((CClientDB*) DB_BaseOffset + 0x00799570)
    #define DB_UnitPowerBar ((CClientDB*) DB_BaseOffset + 0x0079958C)
    #define DB_Vehicle ((CClientDB*) DB_BaseOffset + 0x007995A8)
    #define DB_VehicleSeat ((CClientDB*) DB_BaseOffset + 0x007995C4)
    #define DB_VehicleUIIndicator ((CClientDB*) DB_BaseOffset + 0x007995E0)
    #define DB_VehicleUIIndSeat ((CClientDB*) DB_BaseOffset + 0x007995FC)
    #define DB_VocalUISounds ((CClientDB*) DB_BaseOffset + 0x00799618)
    #define DB_WMOAreaTable ((CClientDB*) DB_BaseOffset + 0x00799634)
    #define DB_World_PVP_Area ((CClientDB*) DB_BaseOffset + 0x00799650)
    #define DB_WeaponImpactSounds ((CClientDB*) DB_BaseOffset + 0x0079966C)
    #define DB_WeaponSwingSounds2 ((CClientDB*) DB_BaseOffset + 0x00799688)
    #define DB_Weather ((CClientDB*) DB_BaseOffset + 0x007996A4)
    #define DB_WorldMapArea ((CClientDB*) DB_BaseOffset + 0x007996C0)
    #define DB_WorldMapContinent ((CClientDB*) DB_BaseOffset + 0x007996DC)
    #define DB_WorldMapOverlay ((CClientDB*) DB_BaseOffset + 0x007996F8)
    #define DB_WorldMapTransforms ((CClientDB*) DB_BaseOffset + 0x00799714)
    #define DB_WorldSafeLocs ((CClientDB*) DB_BaseOffset + 0x00799730)
    #define DB_WorldStateUI ((CClientDB*) DB_BaseOffset + 0x0079974C)
    #define DB_ZoneIntroMusicTable ((CClientDB*) DB_BaseOffset + 0x00799768)
    #define DB_ZoneLight ((CClientDB*) DB_BaseOffset + 0x00799784)
    #define DB_ZoneLightPoint ((CClientDB*) DB_BaseOffset + 0x007997A0)
    #define DB_ZoneMusic ((CClientDB*) DB_BaseOffset + 0x007997BC)
    #define DB_WorldStateZoneSounds ((CClientDB*) DB_BaseOffset + 0x007997D8)
    #define DB_WorldChunkSounds ((CClientDB*) DB_BaseOffset + 0x007997F4)
    #define DB_ObjectEffect ((CClientDB*) DB_BaseOffset + 0x00799810)
    #define DB_ObjectEffectGroup ((CClientDB*) DB_BaseOffset + 0x0079982C)
    #define DB_ObjectEffectModifier ((CClientDB*) DB_BaseOffset + 0x00799848)
    #define DB_ObjectEffectPackage ((CClientDB*) DB_BaseOffset + 0x00799864)
    #define DB_ObjectEffectPackageElem ((CClientDB*) DB_BaseOffset + 0x00799880)
    #define DB_SoundFilter ((CClientDB*) DB_BaseOffset + 0x0079989C)
    #define DB_SoundFilterElem ((CClientDB*) DB_BaseOffset + 0x007998B8)
    #define DB_PhaseShiftZoneSounds ((CClientDB*) DB_BaseOffset + 0x00798B7C)
    
    #endif //__DATABASE_ENUM_H__
    If somebody is interested i can also post my Script that dumps functionnames and offsets the same way.

  13. #88
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by kalixe View Post
    hp = [[CurrObj + 0x8] + (0x8 + 0x12) *4]
    UNIT_FIELD_HEALTH is (0x8 + 0x12) not 0 x 12

    or hp = [[CurrObj + 0x8] + 0x1A * 4]
    or hp = [[CurrObj + 0x8] + 0x68]
    hp = [[ObjPtr + 0x8] + UNIT_FIELD_HEALTH * 4]

    Ure just confusing pepole with the stupid extra shit ure doing

  14. #89
    Seifer's Avatar Site Donator
    Reputation
    129
    Join Date
    Apr 2007
    Posts
    270
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by boredevil View Post
    If somebody is interested i can also post my Script that dumps functionnames and offsets the same way.
    Please, if you would.

  15. #90
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If anybody has happened to have reversed the new item cache struct, it'd be much appreciated.

    Seems they doubled the size of it. (It's no longer a .wdb file, so finding the loader func is fairly useless, as it reads in a few different files generically.)

    Spent the last 36hrs reversing it, and not make a whole lot of progress.

Page 6 of 8 FirstFirst ... 2345678 LastLast

Similar Threads

  1. Free migration when Lich hits. True or false?
    By macho271 in forum World of Warcraft General
    Replies: 5
    Last Post: 08-23-2008, 02:20 AM
  2. Migrate to Russian realms SUCKS
    By Rockerfooi in forum World of Warcraft General
    Replies: 3
    Last Post: 08-06-2008, 07:46 PM
  3. Replies: 4
    Last Post: 06-11-2008, 05:05 PM
  4. Easy migrate a character!
    By INS4N3K1LL in forum WoW EMU Guides & Tutorials
    Replies: 6
    Last Post: 06-11-2008, 01:41 AM
  5. Free Character Migration
    By Unholyshaman in forum World of Warcraft General
    Replies: 0
    Last Post: 12-08-2007, 10:31 AM
All times are GMT -5. The time now is 07:05 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search