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)); }
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)); }