Esempio n. 1
0
        public IEnumerable <ASClass> SearchClass(AirGameFlash flash)
        {
            return(flash.AbcGame.Classes
                   .AsParallel()
                   .Where(clazz =>
            {
                if (clazz == null)
                {
                    return false;
                }

                if (clazz.Traits.Count(trait => trait.Kind == TraitKind.Slot) != 1)
                {
                    return false;
                }

                var staticVariable = clazz.Traits.First(x => x.Kind == TraitKind.Slot);
                if (staticVariable.QName.Namespace.Name.Contains("KeyObfuscator"))
                {
                    return true;
                }

                return false;
            }));
        }
 public IEnumerable <ASClass> SearchClass(AirGameFlash flash)
 {
     return(flash.AbcGame.Classes
            .AsParallel()
            .Where(x => x?.Instance != null &&
                   x.Instance.IsInterface == false &&
                   x.Instance.GetMethod("handleWebLogout") != null));
 }
Esempio n. 3
0
        public IEnumerable <ASClass> SearchClass(AirGameFlash flash)
        {
            var abc = flash.AbcGame;

            var indexOne   = abc.Pool.Strings.IndexOf("environment");
            var indexTwo   = abc.Pool.Strings.IndexOf("login");
            var indexThree = abc.Pool.Strings.IndexOf("userid");

            return(flash.AbcGame.Classes
                   .AsParallel()
                   .Where(x => x != null &&
                          x.Traits.Count > 3 &&
                          x.Traits[0].ValueKind == ConstantKind.String &&
                          x.Traits[1].ValueKind == ConstantKind.String &&
                          x.Traits[2].ValueKind == ConstantKind.String &&
                          x.Traits[0].ValueIndex == indexOne &&
                          x.Traits[1].ValueIndex == indexTwo &&
                          x.Traits[2].ValueIndex == indexThree));
        }