[WoW] [7.1.0.22950] menu

Shout-Out

User Tag List

Page 2 of 2 FirstFirst 12
Results 16 to 23 of 23
  1. #16
    aeo's Avatar Contributor
    Reputation
    135
    Join Date
    Apr 2007
    Posts
    286
    Thanks G/R
    97/68
    Trade Feedback
    7 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Im not 100% sure but I thought they scanned the GetGUIDByKeyword address with warden in attempt to catch FH. I may be wrong as i dont have my list of scanned offsets to double check. Framescript execute is always a bit risky as we know they targeted LUA in the past.

    [WoW] [7.1.0.22950]
  2. Thanks Robske (1 members gave Thanks to aeo for this useful post)
  3. #17
    Wildbreath's Avatar Contributor
    Reputation
    162
    Join Date
    Feb 2012
    Posts
    121
    Thanks G/R
    2/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by aeo View Post
    they scanned the GetGUIDByKeyword address with warden
    100%, approved

  4. Thanks Robske (1 members gave Thanks to Wildbreath for this useful post)
  5. #18
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Awesome, thanks for the confirmation.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  6. #19
    zdohdds's Avatar Active Member
    Reputation
    16
    Join Date
    Feb 2013
    Posts
    46
    Thanks G/R
    19/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Jadd View Post
    No idea where you got the 0x190 descriptor from for level. It should be 0x160. Here's my descriptors (multiply them by 4 to get the memory offset):

    Code:
        public enum CGObjectData {
            Guid                                    = 0,                        // Size -> 4    Mirror Types -> All
            Data                                    = 4,                        // Size -> 4    Mirror Types -> All
            Type                                    = 8,                        // Size -> 1    Mirror Types -> All
            EntryID                                 = 9,                        // Size -> 1    Mirror Types -> ViewerDependent
            DynamicFlags                            = 10,                       // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            Scale                                   = 11,                       // Size -> 1    Mirror Types -> All
            End                                     = 12
        }
    
        public enum CGItemData {
            Owner                                   = CGObjectData.End + 0,     // Size -> 4    Mirror Types -> All
            ContainedIn                             = CGObjectData.End + 4,     // Size -> 4    Mirror Types -> All
            Creator                                 = CGObjectData.End + 8,     // Size -> 4    Mirror Types -> All
            GiftCreator                             = CGObjectData.End + 12,    // Size -> 4    Mirror Types -> All
            StackCount                              = CGObjectData.End + 16,    // Size -> 1    Mirror Types -> Owner
            Expiration                              = CGObjectData.End + 17,    // Size -> 1    Mirror Types -> Owner
            SpellCharges                            = CGObjectData.End + 18,    // Size -> 5    Mirror Types -> Owner
            DynamicFlags                            = CGObjectData.End + 23,    // Size -> 1    Mirror Types -> All
            Enchantment                             = CGObjectData.End + 24,    // Size -> 39   Mirror Types -> All
            PropertySeed                            = CGObjectData.End + 63,    // Size -> 1    Mirror Types -> All
            RandomPropertiesID                      = CGObjectData.End + 64,    // Size -> 1    Mirror Types -> All
            Durability                              = CGObjectData.End + 65,    // Size -> 1    Mirror Types -> Owner
            MaxDurability                           = CGObjectData.End + 66,    // Size -> 1    Mirror Types -> Owner
            CreatePlayedTime                        = CGObjectData.End + 67,    // Size -> 1    Mirror Types -> All
            ModifiersMask                           = CGObjectData.End + 68,    // Size -> 1    Mirror Types -> Owner
            Context                                 = CGObjectData.End + 69,    // Size -> 1    Mirror Types -> All
            ArtifactXP                              = CGObjectData.End + 70,    // Size -> 1    Mirror Types -> Owner
            ItemAppearanceModID                     = CGObjectData.End + 71,    // Size -> 1    Mirror Types -> Owner
            End                                     = CGObjectData.End + 72
        }
    
        public enum CGContainerData {
            Slots                                   = CGItemData.End + 0,       // Size -> 144  Mirror Types -> All
            NumSlots                                = CGItemData.End + 144,     // Size -> 1    Mirror Types -> All
            End                                     = CGItemData.End + 145
        }
    
        public enum CGUnitData {
            Charm                                   = CGObjectData.End + 0,     // Size -> 4    Mirror Types -> All
            Summon                                  = CGObjectData.End + 4,     // Size -> 4    Mirror Types -> All
            Critter                                 = CGObjectData.End + 8,     // Size -> 4    Mirror Types -> Self
            CharmedBy                               = CGObjectData.End + 12,    // Size -> 4    Mirror Types -> All
            SummonedBy                              = CGObjectData.End + 16,    // Size -> 4    Mirror Types -> All
            CreatedBy                               = CGObjectData.End + 20,    // Size -> 4    Mirror Types -> All
            DemonCreator                            = CGObjectData.End + 24,    // Size -> 4    Mirror Types -> All
            Target                                  = CGObjectData.End + 28,    // Size -> 4    Mirror Types -> All
            BattlePetCompanionGUID                  = CGObjectData.End + 32,    // Size -> 4    Mirror Types -> All
            BattlePetDBID                           = CGObjectData.End + 36,    // Size -> 2    Mirror Types -> All
            ChannelObject                           = CGObjectData.End + 38,    // Size -> 4    Mirror Types -> All, Urgent
            ChannelSpell                            = CGObjectData.End + 42,    // Size -> 1    Mirror Types -> All, Urgent
            ChannelSpellXSpellVisual                = CGObjectData.End + 43,    // Size -> 1    Mirror Types -> All, Urgent
            SummonedByHomeRealm                     = CGObjectData.End + 44,    // Size -> 1    Mirror Types -> All
            Sex                                     = CGObjectData.End + 45,    // Size -> 1    Mirror Types -> All
            DisplayPower                            = CGObjectData.End + 46,    // Size -> 1    Mirror Types -> All
            OverrideDisplayPowerID                  = CGObjectData.End + 47,    // Size -> 1    Mirror Types -> All
            Health                                  = CGObjectData.End + 48,    // Size -> 2    Mirror Types -> All
            Power                                   = CGObjectData.End + 50,    // Size -> 6    Mirror Types -> All, UrgentSelfOnly
            MaxHealth                               = CGObjectData.End + 56,    // Size -> 2    Mirror Types -> All
            MaxPower                                = CGObjectData.End + 58,    // Size -> 6    Mirror Types -> All
            PowerRegenFlatModifier                  = CGObjectData.End + 64,    // Size -> 6    Mirror Types -> Self, Owner, UnitAll
            PowerRegenInterruptedFlatModifier       = CGObjectData.End + 70,    // Size -> 6    Mirror Types -> Self, Owner, UnitAll
            Level                                   = CGObjectData.End + 76,    // Size -> 1    Mirror Types -> All
            EffectiveLevel                          = CGObjectData.End + 77,    // Size -> 1    Mirror Types -> All
            ScalingLevelMin                         = CGObjectData.End + 78,    // Size -> 1    Mirror Types -> All
            ScalingLevelMax                         = CGObjectData.End + 79,    // Size -> 1    Mirror Types -> All
            ScalingLevelDelta                       = CGObjectData.End + 80,    // Size -> 1    Mirror Types -> All
            FactionTemplate                         = CGObjectData.End + 81,    // Size -> 1    Mirror Types -> All
            VirtualItems                            = CGObjectData.End + 82,    // Size -> 6    Mirror Types -> All
            Flags                                   = CGObjectData.End + 88,    // Size -> 1    Mirror Types -> All, Urgent
            Flags2                                  = CGObjectData.End + 89,    // Size -> 1    Mirror Types -> All, Urgent
            Flags3                                  = CGObjectData.End + 90,    // Size -> 1    Mirror Types -> All, Urgent
            AuraState                               = CGObjectData.End + 91,    // Size -> 1    Mirror Types -> All
            AttackRoundBaseTime                     = CGObjectData.End + 92,    // Size -> 2    Mirror Types -> All
            RangedAttackRoundBaseTime               = CGObjectData.End + 94,    // Size -> 1    Mirror Types -> Self
            BoundingRadius                          = CGObjectData.End + 95,    // Size -> 1    Mirror Types -> All
            CombatReach                             = CGObjectData.End + 96,    // Size -> 1    Mirror Types -> All
            DisplayID                               = CGObjectData.End + 97,    // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            NativeDisplayID                         = CGObjectData.End + 98,    // Size -> 1    Mirror Types -> All, Urgent
            MountDisplayID                          = CGObjectData.End + 99,    // Size -> 1    Mirror Types -> All, Urgent
            MinDamage                               = CGObjectData.End + 100,   // Size -> 1    Mirror Types -> Self, Owner, EMPath
            MaxDamage                               = CGObjectData.End + 101,   // Size -> 1    Mirror Types -> Self, Owner, EMPath
            MinOffHandDamage                        = CGObjectData.End + 102,   // Size -> 1    Mirror Types -> Self, Owner, EMPath
            MaxOffHandDamage                        = CGObjectData.End + 103,   // Size -> 1    Mirror Types -> Self, Owner, EMPath
            AnimTier                                = CGObjectData.End + 104,   // Size -> 1    Mirror Types -> All
            PetNumber                               = CGObjectData.End + 105,   // Size -> 1    Mirror Types -> All
            PetNameTimestamp                        = CGObjectData.End + 106,   // Size -> 1    Mirror Types -> All
            PetExperience                           = CGObjectData.End + 107,   // Size -> 1    Mirror Types -> Owner
            PetNextLevelExperience                  = CGObjectData.End + 108,   // Size -> 1    Mirror Types -> Owner
            ModCastingSpeed                         = CGObjectData.End + 109,   // Size -> 1    Mirror Types -> All
            ModSpellHaste                           = CGObjectData.End + 110,   // Size -> 1    Mirror Types -> All
            ModHaste                                = CGObjectData.End + 111,   // Size -> 1    Mirror Types -> All
            ModRangedHaste                          = CGObjectData.End + 112,   // Size -> 1    Mirror Types -> All
            ModHasteRegen                           = CGObjectData.End + 113,   // Size -> 1    Mirror Types -> All
            ModTimeRate                             = CGObjectData.End + 114,   // Size -> 1    Mirror Types -> All
            CreatedBySpell                          = CGObjectData.End + 115,   // Size -> 1    Mirror Types -> All
            NpcFlags                                = CGObjectData.End + 116,   // Size -> 2    Mirror Types -> All, ViewerDependent
            EmoteState                              = CGObjectData.End + 118,   // Size -> 1    Mirror Types -> All
            Stats                                   = CGObjectData.End + 119,   // Size -> 4    Mirror Types -> Self, Owner
            StatPosBuff                             = CGObjectData.End + 123,   // Size -> 4    Mirror Types -> Self, Owner
            StatNegBuff                             = CGObjectData.End + 127,   // Size -> 4    Mirror Types -> Self, Owner
            Resistances                             = CGObjectData.End + 131,   // Size -> 7    Mirror Types -> Self, Owner, EMPath
            ResistanceBuffModsPositive              = CGObjectData.End + 138,   // Size -> 7    Mirror Types -> Self, Owner
            ResistanceBuffModsNegative              = CGObjectData.End + 145,   // Size -> 7    Mirror Types -> Self, Owner
            ModBonusArmor                           = CGObjectData.End + 152,   // Size -> 1    Mirror Types -> Self, Owner
            BaseMana                                = CGObjectData.End + 153,   // Size -> 1    Mirror Types -> All
            BaseHealth                              = CGObjectData.End + 154,   // Size -> 1    Mirror Types -> Self, Owner
            ShapeshiftForm                          = CGObjectData.End + 155,   // Size -> 1    Mirror Types -> All
            AttackPower                             = CGObjectData.End + 156,   // Size -> 1    Mirror Types -> Self, Owner
            AttackPowerModPos                       = CGObjectData.End + 157,   // Size -> 1    Mirror Types -> Self, Owner
            AttackPowerModNeg                       = CGObjectData.End + 158,   // Size -> 1    Mirror Types -> Self, Owner
            AttackPowerMultiplier                   = CGObjectData.End + 159,   // Size -> 1    Mirror Types -> Self, Owner
            RangedAttackPower                       = CGObjectData.End + 160,   // Size -> 1    Mirror Types -> Self, Owner
            RangedAttackPowerModPos                 = CGObjectData.End + 161,   // Size -> 1    Mirror Types -> Self, Owner
            RangedAttackPowerModNeg                 = CGObjectData.End + 162,   // Size -> 1    Mirror Types -> Self, Owner
            RangedAttackPowerMultiplier             = CGObjectData.End + 163,   // Size -> 1    Mirror Types -> Self, Owner
            SetAttackSpeedAura                      = CGObjectData.End + 164,   // Size -> 1    Mirror Types -> Self, Owner
            MinRangedDamage                         = CGObjectData.End + 165,   // Size -> 1    Mirror Types -> Self, Owner
            MaxRangedDamage                         = CGObjectData.End + 166,   // Size -> 1    Mirror Types -> Self, Owner
            PowerCostModifier                       = CGObjectData.End + 167,   // Size -> 7    Mirror Types -> Self, Owner
            PowerCostMultiplier                     = CGObjectData.End + 174,   // Size -> 7    Mirror Types -> Self, Owner
            MaxHealthModifier                       = CGObjectData.End + 181,   // Size -> 1    Mirror Types -> Self, Owner
            HoverHeight                             = CGObjectData.End + 182,   // Size -> 1    Mirror Types -> All
            MinItemLevelCutoff                      = CGObjectData.End + 183,   // Size -> 1    Mirror Types -> All
            MinItemLevel                            = CGObjectData.End + 184,   // Size -> 1    Mirror Types -> All
            MaxItemLevel                            = CGObjectData.End + 185,   // Size -> 1    Mirror Types -> All
            WildBattlePetLevel                      = CGObjectData.End + 186,   // Size -> 1    Mirror Types -> All
            BattlePetCompanionNameTimestamp         = CGObjectData.End + 187,   // Size -> 1    Mirror Types -> All
            InteractSpellID                         = CGObjectData.End + 188,   // Size -> 1    Mirror Types -> All
            StateSpellVisualID                      = CGObjectData.End + 189,   // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            StateAnimID                             = CGObjectData.End + 190,   // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            StateAnimKitID                          = CGObjectData.End + 191,   // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            StateWorldEffectID                      = CGObjectData.End + 192,   // Size -> 4    Mirror Types -> ViewerDependent, Urgent
            ScaleDuration                           = CGObjectData.End + 196,   // Size -> 1    Mirror Types -> All
            LooksLikeMountID                        = CGObjectData.End + 197,   // Size -> 1    Mirror Types -> All
            LooksLikeCreatureID                     = CGObjectData.End + 198,   // Size -> 1    Mirror Types -> All
            LookAtControllerID                      = CGObjectData.End + 199,   // Size -> 1    Mirror Types -> All
            LookAtControllerTarget                  = CGObjectData.End + 200,   // Size -> 4    Mirror Types -> All
            End                                     = CGObjectData.End + 204
        }
    
        public enum CGPlayerData {
            DuelArbiter                             = CGUnitData.End + 0,       // Size -> 4    Mirror Types -> All
            WowAccount                              = CGUnitData.End + 4,       // Size -> 4    Mirror Types -> All
            LootTargetGUID                          = CGUnitData.End + 8,       // Size -> 4    Mirror Types -> All
            PlayerFlags                             = CGUnitData.End + 12,      // Size -> 1    Mirror Types -> All
            PlayerFlagsEx                           = CGUnitData.End + 13,      // Size -> 1    Mirror Types -> All
            GuildRankID                             = CGUnitData.End + 14,      // Size -> 1    Mirror Types -> All
            GuildDeleteDate                         = CGUnitData.End + 15,      // Size -> 1    Mirror Types -> All
            GuildLevel                              = CGUnitData.End + 16,      // Size -> 1    Mirror Types -> All
            HairColorID                             = CGUnitData.End + 17,      // Size -> 1    Mirror Types -> All
            CustomDisplayOption                     = CGUnitData.End + 18,      // Size -> 1    Mirror Types -> All
            Inebriation                             = CGUnitData.End + 19,      // Size -> 1    Mirror Types -> All
            ArenaFaction                            = CGUnitData.End + 20,      // Size -> 1    Mirror Types -> All
            DuelTeam                                = CGUnitData.End + 21,      // Size -> 1    Mirror Types -> All
            GuildTimeStamp                          = CGUnitData.End + 22,      // Size -> 1    Mirror Types -> All
            QuestLog                                = CGUnitData.End + 23,      // Size -> 800  Mirror Types -> Party
            VisibleItems                            = CGUnitData.End + 823,     // Size -> 38   Mirror Types -> All
            PlayerTitle                             = CGUnitData.End + 861,     // Size -> 1    Mirror Types -> All
            FakeInebriation                         = CGUnitData.End + 862,     // Size -> 1    Mirror Types -> All
            VirtualPlayerRealm                      = CGUnitData.End + 863,     // Size -> 1    Mirror Types -> All
            CurrentSpecID                           = CGUnitData.End + 864,     // Size -> 1    Mirror Types -> All
            TaxiMountAnimKitID                      = CGUnitData.End + 865,     // Size -> 1    Mirror Types -> All
            AvgItemLevel                            = CGUnitData.End + 866,     // Size -> 4    Mirror Types -> All
            CurrentBattlePetBreedQuality            = CGUnitData.End + 870,     // Size -> 1    Mirror Types -> All
            Prestige                                = CGUnitData.End + 871,     // Size -> 1    Mirror Types -> All
            HonorLevel                              = CGUnitData.End + 872,     // Size -> 1    Mirror Types -> All
            InvSlots                                = CGUnitData.End + 873,     // Size -> 748  Mirror Types -> Self
            FarsightObject                          = CGUnitData.End + 1621,    // Size -> 4    Mirror Types -> Self
            SummonedBattlePetGUID                   = CGUnitData.End + 1625,    // Size -> 4    Mirror Types -> Self
            KnownTitles                             = CGUnitData.End + 1629,    // Size -> 12   Mirror Types -> Self
            Coinage                                 = CGUnitData.End + 1641,    // Size -> 2    Mirror Types -> Self
            XP                                      = CGUnitData.End + 1643,    // Size -> 1    Mirror Types -> Self
            NextLevelXP                             = CGUnitData.End + 1644,    // Size -> 1    Mirror Types -> Self
            Skill                                   = CGUnitData.End + 1645,    // Size -> 448  Mirror Types -> Self
            CharacterPoints                         = CGUnitData.End + 2093,    // Size -> 1    Mirror Types -> Self
            MaxTalentTiers                          = CGUnitData.End + 2094,    // Size -> 1    Mirror Types -> Self
            TrackCreatureMask                       = CGUnitData.End + 2095,    // Size -> 1    Mirror Types -> Self
            TrackResourceMask                       = CGUnitData.End + 2096,    // Size -> 1    Mirror Types -> Self
            MainhandExpertise                       = CGUnitData.End + 2097,    // Size -> 1    Mirror Types -> Self
            OffhandExpertise                        = CGUnitData.End + 2098,    // Size -> 1    Mirror Types -> Self
            RangedExpertise                         = CGUnitData.End + 2099,    // Size -> 1    Mirror Types -> Self
            CombatRatingExpertise                   = CGUnitData.End + 2100,    // Size -> 1    Mirror Types -> Self
            BlockPercentage                         = CGUnitData.End + 2101,    // Size -> 1    Mirror Types -> Self
            DodgePercentage                         = CGUnitData.End + 2102,    // Size -> 1    Mirror Types -> Self
            DodgePercentageFromAttribute            = CGUnitData.End + 2103,    // Size -> 1    Mirror Types -> Self
            ParryPercentage                         = CGUnitData.End + 2104,    // Size -> 1    Mirror Types -> Self
            ParryPercentageFromAttribute            = CGUnitData.End + 2105,    // Size -> 1    Mirror Types -> Self
            CritPercentage                          = CGUnitData.End + 2106,    // Size -> 1    Mirror Types -> Self
            RangedCritPercentage                    = CGUnitData.End + 2107,    // Size -> 1    Mirror Types -> Self
            OffhandCritPercentage                   = CGUnitData.End + 2108,    // Size -> 1    Mirror Types -> Self
            SpellCritPercentage                     = CGUnitData.End + 2109,    // Size -> 1    Mirror Types -> Self
            ShieldBlock                             = CGUnitData.End + 2110,    // Size -> 1    Mirror Types -> Self
            ShieldBlockCritPercentage               = CGUnitData.End + 2111,    // Size -> 1    Mirror Types -> Self
            Mastery                                 = CGUnitData.End + 2112,    // Size -> 1    Mirror Types -> Self
            Speed                                   = CGUnitData.End + 2113,    // Size -> 1    Mirror Types -> Self
            Lifesteal                               = CGUnitData.End + 2114,    // Size -> 1    Mirror Types -> Self
            Avoidance                               = CGUnitData.End + 2115,    // Size -> 1    Mirror Types -> Self
            Sturdiness                              = CGUnitData.End + 2116,    // Size -> 1    Mirror Types -> Self
            Versatility                             = CGUnitData.End + 2117,    // Size -> 1    Mirror Types -> Self
            VersatilityBonus                        = CGUnitData.End + 2118,    // Size -> 1    Mirror Types -> Self
            PvpPowerDamage                          = CGUnitData.End + 2119,    // Size -> 1    Mirror Types -> Self
            PvpPowerHealing                         = CGUnitData.End + 2120,    // Size -> 1    Mirror Types -> Self
            ExploredZones                           = CGUnitData.End + 2121,    // Size -> 256  Mirror Types -> Self
            RestInfo                                = CGUnitData.End + 2377,    // Size -> 4    Mirror Types -> Self
            ModDamageDonePos                        = CGUnitData.End + 2381,    // Size -> 7    Mirror Types -> Self
            ModDamageDoneNeg                        = CGUnitData.End + 2388,    // Size -> 7    Mirror Types -> Self
            ModDamageDonePercent                    = CGUnitData.End + 2395,    // Size -> 7    Mirror Types -> Self
            ModHealingDonePos                       = CGUnitData.End + 2402,    // Size -> 1    Mirror Types -> Self
            ModHealingPercent                       = CGUnitData.End + 2403,    // Size -> 1    Mirror Types -> Self
            ModHealingDonePercent                   = CGUnitData.End + 2404,    // Size -> 1    Mirror Types -> Self
            ModPeriodicHealingDonePercent           = CGUnitData.End + 2405,    // Size -> 1    Mirror Types -> Self
            WeaponDmgMultipliers                    = CGUnitData.End + 2406,    // Size -> 3    Mirror Types -> Self
            WeaponAtkSpeedMultipliers               = CGUnitData.End + 2409,    // Size -> 3    Mirror Types -> Self
            ModSpellPowerPercent                    = CGUnitData.End + 2412,    // Size -> 1    Mirror Types -> Self
            ModResiliencePercent                    = CGUnitData.End + 2413,    // Size -> 1    Mirror Types -> Self
            OverrideSpellPowerByAPPercent           = CGUnitData.End + 2414,    // Size -> 1    Mirror Types -> Self
            OverrideAPBySpellPowerPercent           = CGUnitData.End + 2415,    // Size -> 1    Mirror Types -> Self
            ModTargetResistance                     = CGUnitData.End + 2416,    // Size -> 1    Mirror Types -> Self
            ModTargetPhysicalResistance             = CGUnitData.End + 2417,    // Size -> 1    Mirror Types -> Self
            LocalFlags                              = CGUnitData.End + 2418,    // Size -> 1    Mirror Types -> Self
            NumRespecs                              = CGUnitData.End + 2419,    // Size -> 1    Mirror Types -> Self
            SelfResSpell                            = CGUnitData.End + 2420,    // Size -> 1    Mirror Types -> Self
            PvpMedals                               = CGUnitData.End + 2421,    // Size -> 1    Mirror Types -> Self
            BuybackPrice                            = CGUnitData.End + 2422,    // Size -> 12   Mirror Types -> Self
            BuybackTimestamp                        = CGUnitData.End + 2434,    // Size -> 12   Mirror Types -> Self
            YesterdayHonorableKills                 = CGUnitData.End + 2446,    // Size -> 1    Mirror Types -> Self
            LifetimeHonorableKills                  = CGUnitData.End + 2447,    // Size -> 1    Mirror Types -> Self
            WatchedFactionIndex                     = CGUnitData.End + 2448,    // Size -> 1    Mirror Types -> Self
            CombatRatings                           = CGUnitData.End + 2449,    // Size -> 32   Mirror Types -> Self
            PvpInfo                                 = CGUnitData.End + 2481,    // Size -> 42   Mirror Types -> Self
            MaxLevel                                = CGUnitData.End + 2523,    // Size -> 1    Mirror Types -> Self
            ScalingPlayerLevelDelta                 = CGUnitData.End + 2524,    // Size -> 1    Mirror Types -> Self
            MaxCreatureScalingLevel                 = CGUnitData.End + 2525,    // Size -> 1    Mirror Types -> Self
            NoReagentCostMask                       = CGUnitData.End + 2526,    // Size -> 4    Mirror Types -> Self
            PetSpellPower                           = CGUnitData.End + 2530,    // Size -> 1    Mirror Types -> Self
            Researching                             = CGUnitData.End + 2531,    // Size -> 10   Mirror Types -> Self
            ProfessionSkillLine                     = CGUnitData.End + 2541,    // Size -> 2    Mirror Types -> Self
            UiHitModifier                           = CGUnitData.End + 2543,    // Size -> 1    Mirror Types -> Self
            UiSpellHitModifier                      = CGUnitData.End + 2544,    // Size -> 1    Mirror Types -> Self
            HomeRealmTimeOffset                     = CGUnitData.End + 2545,    // Size -> 1    Mirror Types -> Self
            ModPetHaste                             = CGUnitData.End + 2546,    // Size -> 1    Mirror Types -> Self
            AuraVision                              = CGUnitData.End + 2547,    // Size -> 1    Mirror Types -> Self
            OverrideSpellsID                        = CGUnitData.End + 2548,    // Size -> 1    Mirror Types -> Self, UrgentSelfOnly
            LfgBonusFactionID                       = CGUnitData.End + 2549,    // Size -> 1    Mirror Types -> Self
            LootSpecID                              = CGUnitData.End + 2550,    // Size -> 1    Mirror Types -> Self
            OverrideZonePVPType                     = CGUnitData.End + 2551,    // Size -> 1    Mirror Types -> Self, UrgentSelfOnly
            BagSlotFlags                            = CGUnitData.End + 2552,    // Size -> 4    Mirror Types -> Self
            BankBagSlotFlags                        = CGUnitData.End + 2556,    // Size -> 7    Mirror Types -> Self
            InsertItemsLeftToRight                  = CGUnitData.End + 2563,    // Size -> 1    Mirror Types -> Self
            QuestCompleted                          = CGUnitData.End + 2564,    // Size -> 1000 Mirror Types -> Self
            Honor                                   = CGUnitData.End + 3564,    // Size -> 1    Mirror Types -> Self
            HonorNextLevel                          = CGUnitData.End + 3565,    // Size -> 1    Mirror Types -> Self
            End                                     = CGUnitData.End + 3566
        }
    
        public enum CGGameObjectData {
            CreatedBy                               = CGObjectData.End + 0,     // Size -> 4    Mirror Types -> All
            DisplayID                               = CGObjectData.End + 4,     // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            Flags                                   = CGObjectData.End + 5,     // Size -> 1    Mirror Types -> All, Urgent
            ParentRotation                          = CGObjectData.End + 6,     // Size -> 4    Mirror Types -> All
            FactionTemplate                         = CGObjectData.End + 10,    // Size -> 1    Mirror Types -> All
            Level                                   = CGObjectData.End + 11,    // Size -> 1    Mirror Types -> All
            PercentHealth                           = CGObjectData.End + 12,    // Size -> 1    Mirror Types -> All, Urgent
            SpellVisualID                           = CGObjectData.End + 13,    // Size -> 1    Mirror Types -> All, ViewerDependent, Urgent
            StateSpellVisualID                      = CGObjectData.End + 14,    // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            SpawnTrackingStateAnimID                = CGObjectData.End + 15,    // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            SpawnTrackingStateAnimKitID             = CGObjectData.End + 16,    // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            StateWorldEffectID                      = CGObjectData.End + 17,    // Size -> 4    Mirror Types -> ViewerDependent, Urgent
            End                                     = CGObjectData.End + 21
        }
    
        public enum CGDynamicObjectData {
            Caster                                  = CGObjectData.End + 0,     // Size -> 4    Mirror Types -> All
            Type                                    = CGObjectData.End + 4,     // Size -> 1    Mirror Types -> All
            SpellXSpellVisualID                     = CGObjectData.End + 5,     // Size -> 1    Mirror Types -> All
            SpellID                                 = CGObjectData.End + 6,     // Size -> 1    Mirror Types -> All
            Radius                                  = CGObjectData.End + 7,     // Size -> 1    Mirror Types -> All
            CastTime                                = CGObjectData.End + 8,     // Size -> 1    Mirror Types -> All
            End                                     = CGObjectData.End + 9
        }
    
        public enum CGCorpseData {
            Owner                                   = CGObjectData.End + 0,     // Size -> 4    Mirror Types -> All
            PartyGUID                               = CGObjectData.End + 4,     // Size -> 4    Mirror Types -> All
            DisplayID                               = CGObjectData.End + 8,     // Size -> 1    Mirror Types -> All
            Items                                   = CGObjectData.End + 9,     // Size -> 19   Mirror Types -> All
            SkinID                                  = CGObjectData.End + 28,    // Size -> 1    Mirror Types -> All
            FacialHairStyleID                       = CGObjectData.End + 29,    // Size -> 1    Mirror Types -> All
            Flags                                   = CGObjectData.End + 30,    // Size -> 1    Mirror Types -> All
            DynamicFlags                            = CGObjectData.End + 31,    // Size -> 1    Mirror Types -> ViewerDependent
            FactionTemplate                         = CGObjectData.End + 32,    // Size -> 1    Mirror Types -> All
            CustomDisplayOption                     = CGObjectData.End + 33,    // Size -> 1    Mirror Types -> All
            End                                     = CGObjectData.End + 34
        }
    
        public enum CGAreaTriggerData {
            OverrideScaleCurve                      = CGObjectData.End + 0,     // Size -> 7    Mirror Types -> All, Urgent
            ExtraScaleCurve                         = CGObjectData.End + 7,     // Size -> 7    Mirror Types -> All, Urgent
            Caster                                  = CGObjectData.End + 14,    // Size -> 4    Mirror Types -> All
            Duration                                = CGObjectData.End + 18,    // Size -> 1    Mirror Types -> All
            TimeToTarget                            = CGObjectData.End + 19,    // Size -> 1    Mirror Types -> All, Urgent
            TimeToTargetScale                       = CGObjectData.End + 20,    // Size -> 1    Mirror Types -> All, Urgent
            TimeToTargetExtraScale                  = CGObjectData.End + 21,    // Size -> 1    Mirror Types -> All, Urgent
            SpellID                                 = CGObjectData.End + 22,    // Size -> 1    Mirror Types -> All
            SpellXSpellVisualID                     = CGObjectData.End + 23,    // Size -> 1    Mirror Types -> All
            BoundsRadius2D                          = CGObjectData.End + 24,    // Size -> 1    Mirror Types -> ViewerDependent, Urgent
            DecalPropertiesID                       = CGObjectData.End + 25,    // Size -> 1    Mirror Types -> All
            CreatingEffectGUID                      = CGObjectData.End + 26,    // Size -> 4    Mirror Types -> All
            End                                     = CGObjectData.End + 30
        }
    
        public enum CGSceneObjectData {
            ScriptPackageID                         = CGObjectData.End + 0,     // Size -> 1    Mirror Types -> All
            RndSeedVal                              = CGObjectData.End + 1,     // Size -> 1    Mirror Types -> All
            CreatedBy                               = CGObjectData.End + 2,     // Size -> 4    Mirror Types -> All
            SceneType                               = CGObjectData.End + 6,     // Size -> 1    Mirror Types -> All
            End                                     = CGObjectData.End + 7
        }
    
        public enum CGConversationData {
            LastLineDuration                        = CGObjectData.End + 0,     // Size -> 1    Mirror Types -> ViewerDependent
            End                                     = CGObjectData.End + 1
        }
    It is amazing. How do you know the size of each value structure? I found the structure, but do not understand how to determine the size.

  7. #20
    aeo's Avatar Contributor
    Reputation
    135
    Join Date
    Apr 2007
    Posts
    286
    Thanks G/R
    97/68
    Trade Feedback
    7 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    TOM_RUS has a great tool called WowMoPObjMgrTest This has a descriptor dumper that works if you update the current offsets. They can be found in the initialize game function or found via search strings like guid,type ect I believe.

  8. Thanks zdohdds, Corthezz, tutrakan (3 members gave Thanks to aeo for this useful post)
  9. #21
    zdohdds's Avatar Active Member
    Reputation
    16
    Join Date
    Feb 2013
    Posts
    46
    Thanks G/R
    19/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by aeo View Post
    TOM_RUS has a great tool called WowMoPObjMgrTest This has a descriptor dumper that works if you update the current offsets. They can be found in the initialize game function or found via search strings like guid,type ect I believe.
    Yes, I see, but I here's the problem: the sequence is not the same as actually.
    For example: check through IDA for 7.1.0 22996 x64

    Code:
    // sub_140430760
      do
      {
        ++v15;
        *((_QWORD *)v16 - 1) = "CGUnitData::target";
        *(_QWORD *)v16 = 4i64;
        *((_WORD *)v16 + 4) = 1;
        v16 = (char *)v16 + 24;
      }
      while ( (unsigned __int64)v15 < 4 );
      v17 = 0;
      v18 = &unk_1416F8F28;
      do
      {
        ++v17;
        *((_QWORD *)v18 - 1) = "CGUnitData::channelObject";
        *(_QWORD *)v18 = 4i64;
        *((_WORD *)v18 + 4) = 513;
        v18 = (char *)v18 + 24;
      }
      while ( (unsigned __int64)v17 < 4 );
      v19 = 0;
      v20 = &unk_1416F8FB8;
      do
      {
        ++v19;
        *((_QWORD *)v20 - 1) = "CGUnitData::summonedByHomeRealm";
        *(_QWORD *)v20 = 1i64;
        *((_WORD *)v20 + 4) = 1;
        v20 = (char *)v20 + 24;
      }
      while ( (unsigned __int64)v19 < 1 );
      v21 = 0;
      v22 = &unk_1416F8F88;
      do
      {
        ++v21;
        *((_QWORD *)v22 - 1) = "CGUnitData::channelSpell";
        *(_QWORD *)v22 = 1i64;
        *((_WORD *)v22 + 4) = 513;
        v22 = (char *)v22 + 24;
      }
      while ( (unsigned __int64)v21 < 1 );
      v23 = 0;
      v24 = &unk_1416F8FA0;
      do
      {
        ++v23;
        *((_QWORD *)v24 - 1) = "CGUnitData::channelSpellXSpellVisual";
        *(_QWORD *)v24 = 1i64;
        *((_WORD *)v24 + 4) = 513;
        v24 = (char *)v24 + 24;
      }
      while ( (unsigned __int64)v23 < 1 );
      v25 = &unk_1416F8FD0;
      v26 = 0;
      v27 = &unk_1416F8FD0;
      do
      {
        ++v26;
        *((_QWORD *)v27 - 1) = "CGUnitData::race";
        *(_QWORD *)v27 = 1i64;
        *((_WORD *)v27 + 4) = 1;
        v27 = (char *)v27 + 24;
      }
      while ( (unsigned __int64)v26 < 1 );
      v28 = 0;
      v29 = &unk_1416F8FD0;
      do
      {
        ++v28;
        *((_QWORD *)v29 - 1) = "CGUnitData::classId";
        *(_QWORD *)v29 = 1i64;
        *((_WORD *)v29 + 4) = 1;
        v29 = (char *)v29 + 24;
      }
      while ( (unsigned __int64)v28 < 1 );
      v30 = 0;
      v31 = &unk_1416F8FD0;
      do
      {
        ++v30;
        *((_QWORD *)v31 - 1) = "CGUnitData::playerClassId";
        *(_QWORD *)v31 = 1i64;
        *((_WORD *)v31 + 4) = 1;
        v31 = (char *)v31 + 24;
      }
      while ( (unsigned __int64)v30 < 1 );
      v32 = 0;
      do
      {
        ++v32;
        *((_QWORD *)v25 - 1) = "CGUnitData::sex";
        *(_QWORD *)v25 = 1i64;
        *((_WORD *)v25 + 4) = 1;
        v25 = (char *)v25 + 24;
      }
      while ( (unsigned __int64)v32 < 1 );
      v33 = 0;
      v34 = &unk_1416F8FE8;
      do
      {
        ++v33;
        *((_QWORD *)v34 - 1) = "CGUnitData::displayPower";
        *(_QWORD *)v34 = 1i64;
        *((_WORD *)v34 + 4) = 1;
        v34 = (char *)v34 + 24;
      }
      while ( (unsigned __int64)v33 < 1 );
      v35 = 0;
      v36 = &unk_1416F9000;
      do
      {
        ++v35;
        *((_QWORD *)v36 - 1) = "CGUnitData::overrideDisplayPowerID";
        *(_QWORD *)v36 = 1i64;
        *((_WORD *)v36 + 4) = 1;
        v36 = (char *)v36 + 24;
      }
      while ( (unsigned __int64)v35 < 1 );
      v37 = 0;
      v38 = &unk_1416F9018;
      do
      {
        ++v37;
        *((_QWORD *)v38 - 1) = "CGUnitData::health";
        *(_QWORD *)v38 = 2i64;
        *((_WORD *)v38 + 4) = 1;
        v38 = (char *)v38 + 24;
      }
    Code:
    "CGUnitData::charm" = 0,
    "CGUnitData::summon" = 4,
    "CGUnitData::critter" = 8;
    "CGUnitData::charmedBy" = 12;
    "CGUnitData::summonedBy" = 16;
    "CGUnitData::createdBy" = 20;
    "CGUnitData::demonCreator" = 24;
    "CGUnitData::target" = 28;
    "CGUnitData::channelObject" = 32;
    "CGUnitData::summonedByHomeRealm" = 36;
    "CGUnitData::channelSpell" = 37;
    "CGUnitData::channelSpellXSpellVisual" = 38;
    "CGUnitData::race" = 39;
    "CGUnitData::classId" = 40;
    "CGUnitData::playerClassId" = 41;
    "CGUnitData::sex" = 42;
    "CGUnitData::displayPower" = 43;
    "CGUnitData::overrideDisplayPowerID" = 44;
    "CGUnitData::health" = 45;
    After the "Target" is "channelObject", but should be "BattlePetCompanionGUID" so the offset of "Health" is not correct.

    Code:
    Health = CGObjectData.End + 45, // Size -> 2
    (45 + 12) * 4 = 228(dec) = E4h
    Correct offset it is F0h

  10. Thanks tutrakan (1 members gave Thanks to zdohdds for this useful post)
  11. #22
    aeo's Avatar Contributor
    Reputation
    135
    Join Date
    Apr 2007
    Posts
    286
    Thanks G/R
    97/68
    Trade Feedback
    7 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    If you look at the dumper in his project you will see that ObjectDescripers is one address, you have to do some xref'ing from that function to find the MirrorInitialize function that has a whole bunch of push/mov/lea instructions. The qwords are you descriptor addresses you need to use in the tool. These are old offsets

    Code:
     MirrorInitialize proc near              ; CODE XREF: sub_140008660:loc_140008868p
    .text:00000001403F0BC0                                                                 ; DATA XREF: .pdata:000000014171DD64o
    .text:00000001403F0BC0 48 83 EC 28                             sub     rsp, 28h
    .text:00000001403F0BC4 E8 F7 18 00 00                          call    sub_1403F24C0
    .text:00000001403F0BC9 E8 12 3E 00 00                          call    CGItem__InitializeBaseDataDescriptors
    .text:00000001403F0BCE E8 3D 43 00 00                          call    CGContainer__InitializeBaseDataDescriptors
    .text:00000001403F0BD3 E8 58 1C 00 00                          call    CGUnit__InitializeBaseDataDescriptors
    .text:00000001403F0BD8 E8 73 44 00 00                          call    CGPlayer__InitializeBaseDataDescriptors
    .text:00000001403F0BDD E8 FE 37 00 00                          call    CGGameObject__InitializeBaseDataDescriptors
    .text:00000001403F0BE2 E8 F9 32 00 00                          call    sub_1403F3EE0
    .text:00000001403F0BE7 E8 04 34 00 00                          call    CGCorpse__InitializeBaseDataDescriptors
    .text:00000001403F0BEC E8 BF 35 00 00                          call    sub_1403F41B0
    .text:00000001403F0BF1 E8 CA 36 00 00                          call    CGAreaTrigger__InitializeBaseDataDescriptors
    .text:00000001403F0BF6 E8 55 32 00 00                          call    CGItemDynamic__InitializeBaseDataDescriptors
    .text:00000001403F0BFB E8 30 41 00 00                          call    CGDynamicObject__InitializeBaseDataDescriptors
    .text:00000001403F0C00 E8 BB 2F 00 00                          call    CGSceneObject__InitializeBaseDataDescriptors
    .text:00000001403F0C05 E8 36 5A 00 00                          call    sub_1403F6640
    .text:00000001403F0C0A E8 61 9F 9B 00                          call    nullsub_1
    .text:00000001403F0C0F E8 6C 32 00 00                          call    CGObject__InitializeBaseDataDescriptors
    .text:00000001403F0C14 48 8D 15 E5 05 05 01                    lea     rdx, qword_141441200 ; void *
    .text:00000001403F0C1B 48 8D 0D BE 04 05 01                    lea     rcx, unk_1414410E0 ; void *
    .text:00000001403F0C22 41 B8 20 01 00 00                       mov     r8d, 120h       ; size_t
    .text:00000001403F0C28 E8 43 1D 64 00                          call    memmove
    .text:00000001403F0C2D 48 8D 15 AC 04 05 01                    lea     rdx, unk_1414410E0 ; void *
    .text:00000001403F0C34 48 8D 0D 65 F6 04 01                    lea     rcx, unk_1414402A0 ; void *
    .text:00000001403F0C3B 41 B8 20 01 00 00                       mov     r8d, 120h       ; size_t
    .text:00000001403F0C41 E8 2A 1D 64 00                          call    memmove
    .text:00000001403F0C46 48 8D 15 03 FE 04 01                    lea     rdx, qword_141440A50 ; void *
    .text:00000001403F0C4D 48 8D 0D 6C F7 04 01                    lea     rcx, unk_1414403C0 ; void *
    .text:00000001403F0C54 41 B8 90 06 00 00                       mov     r8d, 690h       ; size_t
    .text:00000001403F0C5A E8 11 1D 64 00                          call    memmove
    .text:00000001403F0C5F 48 8D 15 3A F6 04 01                    lea     rdx, unk_1414402A0 ; void *
    .text:00000001403F0C66 48 8D 0D A3 D2 04 01                    lea     rcx, unk_14143DF10 ; void *
    .text:00000001403F0C6D 41 B8 B0 07 00 00                       mov     r8d, 7B0h       ; size_t

  12. Thanks zdohdds, tutrakan (2 members gave Thanks to aeo for this useful post)
  13. #23
    zdohdds's Avatar Active Member
    Reputation
    16
    Join Date
    Feb 2013
    Posts
    46
    Thanks G/R
    19/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by aeo View Post
    If you look at the dumper in his project you will see that ObjectDescripers is one address, you have to do some xref'ing from that function to find the MirrorInitialize function that has a whole bunch of push/mov/lea instructions. The qwords are you descriptor addresses you need to use in the tool. These are old offsets

    Code:
     MirrorInitialize proc near              ; CODE XREF: sub_140008660:loc_140008868p
    .text:00000001403F0BC0                                                                 ; DATA XREF: .pdata:000000014171DD64o
    .text:00000001403F0BC0 48 83 EC 28                             sub     rsp, 28h
    .text:00000001403F0BC4 E8 F7 18 00 00                          call    sub_1403F24C0
    .text:00000001403F0BC9 E8 12 3E 00 00                          call    CGItem__InitializeBaseDataDescriptors
    .text:00000001403F0BCE E8 3D 43 00 00                          call    CGContainer__InitializeBaseDataDescriptors
    .text:00000001403F0BD3 E8 58 1C 00 00                          call    CGUnit__InitializeBaseDataDescriptors
    .text:00000001403F0BD8 E8 73 44 00 00                          call    CGPlayer__InitializeBaseDataDescriptors
    .text:00000001403F0BDD E8 FE 37 00 00                          call    CGGameObject__InitializeBaseDataDescriptors
    .text:00000001403F0BE2 E8 F9 32 00 00                          call    sub_1403F3EE0
    .text:00000001403F0BE7 E8 04 34 00 00                          call    CGCorpse__InitializeBaseDataDescriptors
    .text:00000001403F0BEC E8 BF 35 00 00                          call    sub_1403F41B0
    .text:00000001403F0BF1 E8 CA 36 00 00                          call    CGAreaTrigger__InitializeBaseDataDescriptors
    .text:00000001403F0BF6 E8 55 32 00 00                          call    CGItemDynamic__InitializeBaseDataDescriptors
    .text:00000001403F0BFB E8 30 41 00 00                          call    CGDynamicObject__InitializeBaseDataDescriptors
    .text:00000001403F0C00 E8 BB 2F 00 00                          call    CGSceneObject__InitializeBaseDataDescriptors
    .text:00000001403F0C05 E8 36 5A 00 00                          call    sub_1403F6640
    .text:00000001403F0C0A E8 61 9F 9B 00                          call    nullsub_1
    .text:00000001403F0C0F E8 6C 32 00 00                          call    CGObject__InitializeBaseDataDescriptors
    .text:00000001403F0C14 48 8D 15 E5 05 05 01                    lea     rdx, qword_141441200 ; void *
    .text:00000001403F0C1B 48 8D 0D BE 04 05 01                    lea     rcx, unk_1414410E0 ; void *
    .text:00000001403F0C22 41 B8 20 01 00 00                       mov     r8d, 120h       ; size_t
    .text:00000001403F0C28 E8 43 1D 64 00                          call    memmove
    .text:00000001403F0C2D 48 8D 15 AC 04 05 01                    lea     rdx, unk_1414410E0 ; void *
    .text:00000001403F0C34 48 8D 0D 65 F6 04 01                    lea     rcx, unk_1414402A0 ; void *
    .text:00000001403F0C3B 41 B8 20 01 00 00                       mov     r8d, 120h       ; size_t
    .text:00000001403F0C41 E8 2A 1D 64 00                          call    memmove
    .text:00000001403F0C46 48 8D 15 03 FE 04 01                    lea     rdx, qword_141440A50 ; void *
    .text:00000001403F0C4D 48 8D 0D 6C F7 04 01                    lea     rcx, unk_1414403C0 ; void *
    .text:00000001403F0C54 41 B8 90 06 00 00                       mov     r8d, 690h       ; size_t
    .text:00000001403F0C5A E8 11 1D 64 00                          call    memmove
    .text:00000001403F0C5F 48 8D 15 3A F6 04 01                    lea     rdx, unk_1414402A0 ; void *
    .text:00000001403F0C66 48 8D 0D A3 D2 04 01                    lea     rcx, unk_14143DF10 ; void *
    .text:00000001403F0C6D 41 B8 B0 07 00 00                       mov     r8d, 7B0h       ; size_t
    Thank you. For x86 it's really easy:

    Code:
    .text:006CADA5 sub_6CADA5      proc near               ; CODE XREF: sub_4827B3:loc_4828B8p
    .text:006CADA5                 push    ebx
    .text:006CADA6                 push    esi
    .text:006CADA7                 push    edi
    .text:006CADA8                 call    sub_6CBFB9
    .text:006CADAD                 call    sub_6CD480
    .text:006CADB2                 call    sub_6CD6CF
    .text:006CADB7                 call    sub_6CC5B6
    .text:006CADBC                 call    sub_6CDC7F
    .text:006CADC1                 call    sub_6CD9E0
    .text:006CADC6                 call    sub_6CD846
    .text:006CADCB                 call    sub_6CD726
    .text:006CADD0                 call    sub_6CD15E
    .text:006CADD5                 call    sub_6CE8FA
    .text:006CADDA                 call    sub_6CE976
    .text:006CADDF                 call    sub_6CD66C
    .text:006CADE4                 call    sub_6CD026
    .text:006CADE9                 call    sub_6CE7FD
    .text:006CADEE                 call    sub_6CDB2C
    .text:006CADF3                 call    sub_6CE996
    .text:006CADF8                 push    0Ch
    .text:006CADFA                 pop     ebx
    .text:006CADFB                 push    ebx
    .text:006CADFC                 push    0
    .text:006CADFE                 push    offset dword_122C8A0
    .text:006CAE03                 mov     edi, offset unk_121F4B8
    .text:006CAE08                 push    edi
    .text:006CAE09                 push    edi
    .text:006CAE0A                 call    sub_6CAD45
    .text:006CAE0F                 push    48h
    .text:006CAE11                 push    ebx
    .text:006CAE12                 push    offset dword_122C930
    .text:006CAE17                 push    edi
    .text:006CAE18                 mov     esi, offset unk_121F548
    .text:006CAE1D                 push    esi
    .text:006CAE1E                 call    sub_6CAD45
    but for x64, you can head to break.

    Code:
    .text:000000014042E070 sub_14042E070   proc near               ; CODE XREF: sub_14007E6B0:loc_14007E806p
    .text:000000014042E070                                         ; DATA XREF: .pdata:00000001419D4CC4o
    .text:000000014042E070                 sub     rsp, 28h
    .text:000000014042E074                 call    sub_140430030
    .text:000000014042E079                 call    sub_140432190
    .text:000000014042E07E                 call    sub_1404325C0
    .text:000000014042E083                 call    sub_140430760
    .text:000000014042E088                 call    sub_140433320
    .text:000000014042E08D                 call    sub_140432E70
    .text:000000014042E092                 call    sub_1404329B0
    .text:000000014042E097                 call    sub_140432660
    .text:000000014042E09C                 call    sub_140431D20
    .text:000000014042E0A1                 call    sub_140434CA0
    .text:000000014042E0A6                 call    sub_140434D90
    .text:000000014042E0AB                 call    sub_140432500
    .text:000000014042E0B0                 call    sub_140431BD0
    .text:000000014042E0B5                 call    sub_140434B30
    .text:000000014042E0BA                 call    sub_140433180
    .text:000000014042E0BF                 call    sub_140434DD0
    .text:000000014042E0C4                 lea     rdx, unk_14170F7A0
    .text:000000014042E0CB                 mov     r9d, 2
    .text:000000014042E0D1                 lea     rcx, unk_141729F70
    .text:000000014042E0D8                 mov     r8d, r9d
    .text:000000014042E0DB                 mov     rax, rdx
    .text:000000014042E0DE                 xchg    ax, ax
    .text:000000014042E0E0
    .text:000000014042E0E0 loc_14042E0E0:                          ; CODE XREF: sub_14042E070+C0j
    .text:000000014042E0E0                 movups  xmm0, xmmword ptr [rcx]
    .text:000000014042E0E3                 movups  xmm1, xmmword ptr [rcx+10h]
    .text:000000014042E0E7                 lea     rax, [rax+80h]
    .text:000000014042E0EE                 lea     rcx, [rcx+80h]
    .text:000000014042E0F5                 movups  xmmword ptr [rax-80h], xmm0
    .text:000000014042E0F9                 movups  xmm0, xmmword ptr [rcx-60h]
    .text:000000014042E0FD                 movups  xmmword ptr [rax-70h], xmm1
    .text:000000014042E101                 movups  xmm1, xmmword ptr [rcx-50h]
    .text:000000014042E105                 movups  xmmword ptr [rax-60h], xmm0
    .text:000000014042E109                 movups  xmm0, xmmword ptr [rcx-40h]
    .text:000000014042E10D                 movups  xmmword ptr [rax-50h], xmm1
    .text:000000014042E111                 movups  xmm1, xmmword ptr [rcx-30h]
    .text:000000014042E115                 movups  xmmword ptr [rax-40h], xmm0
    .text:000000014042E119                 movups  xmm0, xmmword ptr [rcx-20h]
    .text:000000014042E11D                 movups  xmmword ptr [rax-30h], xmm1
    .text:000000014042E121                 movups  xmm1, xmmword ptr [rcx-10h]
    .text:000000014042E125                 movups  xmmword ptr [rax-20h], xmm0
    .text:000000014042E129                 movups  xmmword ptr [rax-10h], xmm1
    .text:000000014042E12D                 dec     r8
    .text:000000014042E130                 jnz     short loc_14042E0E0
    .text:000000014042E132                 movups  xmm0, xmmword ptr [rcx]
    .text:000000014042E135                 movups  xmm1, xmmword ptr [rcx+10h]
    .text:000000014042E139                 mov     r8, rdx
    .text:000000014042E13C                 mov     r10, r9
    .text:000000014042E13F                 movups  xmmword ptr [rax], xmm0
    .text:000000014042E142                 movups  xmmword ptr [rax+10h], xmm1
    .text:000000014042E146                 lea     rax, unk_14170F8C0
    .text:000000014042E14D                 mov     rcx, rax
    .text:000000014042E150
    .text:000000014042E150 loc_14042E150:                          ; CODE XREF: sub_14042E070+138j
    .text:000000014042E150                 movups  xmm0, xmmword ptr [r8]
    .text:000000014042E154                 movups  xmm1, xmmword ptr [r8+10h]
    .text:000000014042E159                 lea     rcx, [rcx+80h]
    .text:000000014042E160                 lea     r8, [r8+80h]
    .text:000000014042E167                 movups  xmmword ptr [rcx-80h], xmm0
    .text:000000014042E16B                 movups  xmm0, xmmword ptr [r8-60h]
    .text:000000014042E170                 movups  xmmword ptr [rcx-70h], xmm1
    .text:000000014042E174                 movups  xmm1, xmmword ptr [r8-50h]
    .text:000000014042E179                 movups  xmmword ptr [rcx-60h], xmm0
    .text:000000014042E17D                 movups  xmm0, xmmword ptr [r8-40h]
    .text:000000014042E182                 movups  xmmword ptr [rcx-50h], xmm1
    .text:000000014042E186                 movups  xmm1, xmmword ptr [r8-30h]
    .text:000000014042E18B                 movups  xmmword ptr [rcx-40h], xmm0
    .text:000000014042E18F                 movups  xmm0, xmmword ptr [r8-20h]
    .text:000000014042E194                 movups  xmmword ptr [rcx-30h], xmm1
    .text:000000014042E198                 movups  xmm1, xmmword ptr [r8-10h]
    .text:000000014042E19D                 movups  xmmword ptr [rcx-20h], xmm0
    .text:000000014042E1A1                 movups  xmmword ptr [rcx-10h], xmm1
    .text:000000014042E1A5                 dec     r10
    .text:000000014042E1A8                 jnz     short loc_14042E150
    .text:000000014042E1AA                 movups  xmm0, xmmword ptr [r8]
    .text:000000014042E1AE                 movups  xmm1, xmmword ptr [r8+10h]
    .text:000000014042E1B3                 lea     r8, unk_1416F76E0
    .text:000000014042E1BA                 mov     r10d, 0Dh
    .text:000000014042E1C0                 movups  xmmword ptr [rcx], xmm0
    .text:000000014042E1C3                 movups  xmmword ptr [rcx+10h], xmm1
    .text:000000014042E1C7                 lea     rcx, unk_14170F9E0
    .text:000000014042E1CE                 xchg    ax, ax
    .text:000000014042E1D0
    .text:000000014042E1D0 loc_14042E1D0:                          ; CODE XREF: sub_14042E070+1B8j
    .text:000000014042E1D0                 movups  xmm0, xmmword ptr [r8]
    .text:000000014042E1D4                 movups  xmm1, xmmword ptr [r8+10h]
    The fact that the structure is not that different is good.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. Nude WoW Pics!
    By janzi9 in forum Community Chat
    Replies: 34
    Last Post: 01-12-2007, 04:41 PM
  2. Get your first mount in WoW easily
    By Matt in forum World of Warcraft Guides
    Replies: 3
    Last Post: 11-03-2006, 09:46 PM
  3. World of Warcraft WoW!Bot (GetALifeBot) 0.61 for WoW 1.9.4 + FishBot
    By Matt in forum World of Warcraft Bots and Programs
    Replies: 43
    Last Post: 04-18-2006, 04:55 AM
  4. AutoIt Macro for WoW AFK Bot
    By Matt in forum World of Warcraft Bots and Programs
    Replies: 8
    Last Post: 04-06-2006, 06:01 AM
  5. Free WoW Glider 0.5.3 Loader
    By Matt in forum World of Warcraft Bots and Programs
    Replies: 5
    Last Post: 03-12-2006, 01:00 PM
All times are GMT -5. The time now is 08:15 AM. 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