public CallSiteBinder CreateBinder() { IEnumerable <CSharpArgumentInfo> args = ArgumentFlags.Zip(ArgumentNames, (f, n) => CSharpArgumentInfo.Create(f, n)); switch (BinderType) { case BinderTypeEnum.BinaryOperation: return(Binder.BinaryOperation(Flags, Operation, Context, args)); case BinderTypeEnum.Convert: return(Binder.Convert(Flags, Type, Context)); case BinderTypeEnum.GetIndex: return(Binder.GetIndex(Flags, Context, args)); case BinderTypeEnum.GetMember: return(Binder.GetMember(Flags, Name, Context, args)); case BinderTypeEnum.Invoke: return(Binder.Invoke(Flags, Context, args)); case BinderTypeEnum.InvokeMember: return(Binder.InvokeMember(Flags, Name, TypeArguments, Context, args)); case BinderTypeEnum.SetIndex: return(Binder.SetIndex(Flags, Context, args)); case BinderTypeEnum.SetMember: return(Binder.SetMember(Flags, Name, Context, args)); default: return(null); } }
public void BinderCacheAddition() { CSharpArgumentInfo x = CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null); CSharpArgumentInfo y = CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null); CallSiteBinder binder = Binder.BinaryOperation( CSharpBinderFlags.None, System.Linq.Expressions.ExpressionType.Add, typeof(TestClass01), new[] { x, y }); var site = CallSite <Func <CallSite, object, object, object> > .Create(binder); Func <CallSite, object, object, object> targ = site.Target; object res = targ(site, 1, 2); Assert.Equal(3, res); var rulesCnt = CallSiteOps.GetCachedRules(CallSiteOps.GetRuleCache((dynamic)site)).Length; Assert.Equal(1, rulesCnt); TestClass01.BindThings(); rulesCnt = CallSiteOps.GetCachedRules(CallSiteOps.GetRuleCache((dynamic)site)).Length; Assert.Equal(3, rulesCnt); }
/// <summary> /// Reduces the dynamic expression to a binder and a set of arguments to apply the operation to. /// </summary> /// <param name="binder">The binder used to perform the dynamic operation.</param> /// <param name="arguments">The arguments to apply the dynamic operation to.</param> /// <param name="argumentTypes">The types of the arguments to use for the dynamic call site. Return null to infer types.</param> protected override void ReduceDynamic(out CallSiteBinder binder, out IEnumerable <Expression> arguments, out Type[] argumentTypes) { var nodeType = OperationNodeType; switch (nodeType) { case ExpressionType.AddChecked: nodeType = ExpressionType.Add; break; case ExpressionType.MultiplyChecked: nodeType = ExpressionType.Multiply; break; case ExpressionType.SubtractChecked: nodeType = ExpressionType.Subtract; break; case ExpressionType.AndAlso: nodeType = ExpressionType.And; break; case ExpressionType.OrElse: nodeType = ExpressionType.Or; break; } binder = Binder.BinaryOperation(Flags, nodeType, Context, new[] { Left.ArgumentInfo, Right.ArgumentInfo }); arguments = new[] { Left.Expression, Right.Expression }; argumentTypes = null; }
public void TestDynamic() { var x = Expression.Parameter(typeof(object), "x"); var y = Expression.Parameter(typeof(object), "y"); var binder = Binder.BinaryOperation( CSharpBinderFlags.None, ExpressionType.Add, GetType(), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }); Expression <Func <dynamic, dynamic, dynamic> > f = Expression.Lambda <Func <object, object, object> >( Expression.Dynamic(binder, typeof(object), x, y), new[] { x, y, }); TestContext.WriteLine(f.Compile()(1, "abc")); }
public void Test() { var x = Expression.Parameter(typeof(object), "x"); var y = Expression.Parameter(typeof(object), "y"); var binder = Binder.BinaryOperation( CSharpBinderFlags.None, ExpressionType.Add, typeof(TestDynamic), new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }); var exp = Expression.Lambda <Func <object, object, object> >( Expression.Dynamic(binder, typeof(object), x, y), new[] { x, y } ); Func <dynamic, dynamic, dynamic> f = LambdaCompiler.Compile(exp, CompilerOptions.All); Assert.AreEqual(3, f(1, 2)); f = LambdaCompiler.Compile(exp, CompilerOptions.None); Assert.AreEqual(3, f(1, 2)); f = exp.Compile(); Assert.AreEqual(3, f(1, 2)); }
internal override Expression GetExpression(List<ParameterExpression> parameters, Dictionary<string, ConstantExpression> locals, List<DataContainer> dataContainers, Type dynamicContext, LabelTarget label, bool requiresReturnValue = true) { if (Operation == Operator.And || Operation == Operator.AlternateAnd) return Expression.Convert(Expression.AndAlso(Expression.Convert(Left.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool)), Expression.Convert(Right.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool))), typeof(object)); if (Operation == Operator.Or) return Expression.Convert(Expression.OrElse(Expression.Convert(Left.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool)), Expression.Convert(Right.GetExpression(parameters, locals, dataContainers, dynamicContext, label), typeof(bool))), typeof(object)); CallSiteBinder binder = Binder.BinaryOperation(CSharpBinderFlags.None, types[(int)Operation], dynamicContext ?? typeof(object), new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }); return Expression.Dynamic(binder, typeof(object), Left.GetExpression(parameters, locals, dataContainers, dynamicContext, label), Right.GetExpression(parameters, locals, dataContainers, dynamicContext, label)); }
private static CallSite <Func <CallSite, object, object, object> > GetBinaryOperationCallSite(ExpressionType operation, bool checkedContext, bool constantLeftArgument, bool constantRightArgument) { CSharpArgumentInfo x = CSharpArgumentInfo.Create(constantLeftArgument ? CSharpArgumentInfoFlags.Constant : CSharpArgumentInfoFlags.None, null); CSharpArgumentInfo y = CSharpArgumentInfo.Create(constantRightArgument ? CSharpArgumentInfoFlags.Constant : CSharpArgumentInfoFlags.None, null); CallSiteBinder binder = Binder.BinaryOperation( checkedContext ? CSharpBinderFlags.CheckedContext : CSharpBinderFlags.None, operation, typeof(IntegerBinaryOperationTests), new[] { x, y }); return(CallSite <Func <CallSite, object, object, object> > .Create(binder)); }
public static Expression BuildBinaryLogicalOperation(ExpressionType type, Expression left, Expression right) { var argumentInfo = new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }; var binder = Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, type, typeof(ExpressionDynamicBuilder), argumentInfo); return(Expression.Dynamic(binder, typeof(object), left, right)); }
public static Expression BuildLogicalOr(Expression arg1, Expression arg2) { var argumentInfo = new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), }; var binder = Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.Or, typeof(DynamicBuilder), argumentInfo); return(Expression.Dynamic(binder, typeof(object), arg1, arg2)); }
/// <summary> /// Creates expression tree for variable comparison /// </summary> /// <param name="inequalitySign"></param> /// <returns></returns> public static Func <dynamic, dynamic, dynamic> Build(string inequalitySign) { ParameterExpression x = Expression.Parameter(typeof(object), "x"); ParameterExpression y = Expression.Parameter(typeof(object), "y"); var binder = Binder.BinaryOperation( CSharpBinderFlags.None, GetExpressionType(inequalitySign), typeof(IAlgorithm <>), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }); Func <dynamic, dynamic, dynamic> lambda = Expression.Lambda <Func <object, object, object> >(Expression.Dynamic(binder, typeof(object), x, y), new[] { x, y }).Compile(); return(lambda); }
private static Expression DynamicBinaryOperatorFunc(Expression le, Expression re, ExpressionType expressionType) { var expArgs = new List <Expression>() { le, re }; var binderM = Binder.BinaryOperation(CSharpBinderFlags.None, expressionType, le.Type, new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) }); return(Expression.Dynamic(binderM, typeof(object), expArgs)); }
public void NullDMO() { BinaryOperationBinder binder = Binder.BinaryOperation( CSharpBinderFlags.None, ExpressionType.Add, GetType(), new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) } ) as BinaryOperationBinder; DynamicMetaObject dmo2 = new DynamicMetaObject(Expression.Parameter(typeof(object)), BindingRestrictions.Empty, 2); DynamicMetaObject dmoNoVal = new DynamicMetaObject(Expression.Parameter(typeof(object)), BindingRestrictions.Empty); AssertExtensions.Throws <ArgumentNullException>("target", () => binder.FallbackBinaryOperation(null, null)); AssertExtensions.Throws <ArgumentNullException>("arg", () => binder.FallbackBinaryOperation(dmo2, null)); AssertExtensions.Throws <ArgumentException>("target", () => binder.FallbackBinaryOperation(dmoNoVal, null)); AssertExtensions.Throws <ArgumentException>("arg", () => binder.FallbackBinaryOperation(dmo2, dmoNoVal)); }
public void BinaryOperation() { var expected = LinqExpression.Dynamic( Binder.BinaryOperation( CSharpBinderFlags.None, Linq.ExpressionType.Add, null, new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), }), typeof(object), LinqExpression.Constant(2L), LinqExpression.Constant(3L)); const string actual = @" @prefix : <http://example.com/> . @prefix xt: <http://example.com/ExpressionTypes/> . :s :dynamicBinder [ a :BinaryOperation ; :binderExpressionType xt:Add ; :binderArguments ( [] [] ) ; ] ; :dynamicReturnType [ :typeName ""System.Object"" ; ] ; :dynamicArguments ( [ :constantValue 2 ; ] [ :constantValue 3 ; ] ) ; . "; ShouldBe(actual, expected); }
public void Dynamic_BinaryOperation() { var expression = LinqExpression.Dynamic( Binder.BinaryOperation( CSharpBinderFlags.None, Linq.ExpressionType.Add, null, new[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), }), typeof(object), LinqExpression.Constant(2L), LinqExpression.Constant(3L)); ShouldRoundrip(expression); }
public bool CreateAccount(string email, string[] captchaText, ref string status, int n) { this.restClient_0.CookieContainer = this._cookieJar; this.restClient_0.BaseUrl = HttpHandler.uri_2; if (captchaText == null) { return(false); } string value = captchaText[n]; if (this.mainForm_0.proxy) { this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport); } this.restRequest_0.Method = Method.POST; this.restRequest_0.AddParameter("captchagid", this.string_0); this.restRequest_0.AddParameter("captcha_text", value); this.restRequest_0.AddParameter("email", email); this.restRequest_0.AddParameter("count", "1"); IRestResponse restResponse = this.restClient_0.Execute(this.restRequest_0); this.restRequest_0.Parameters.Clear(); if (!restResponse.IsSuccessful) { status = "HTTP Request failed"; } MatchCollection matchCollection = HttpHandler.regex_1.Matches(restResponse.Content); bool flag = bool.Parse(matchCollection[0].Value); bool flag2 = bool.Parse(matchCollection[1].Value); if (!flag) { status = "Wrong captcha....Trying Again"; return(captchaText.Length - 1 >= n + 1 && this.CreateAccount(email, captchaText, ref status, n + 1)); } if (!flag2) { status = "Email error"; return(false); } this.restClient_0.BaseUrl = HttpHandler.uri_3; if (this.mainForm_0.proxy) { this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport); } this.restRequest_0.AddParameter("captchagid", this.string_0); this.restRequest_0.AddParameter("captcha_text", value); this.restRequest_0.AddParameter("email", email); restResponse = this.restClient_0.Execute(this.restRequest_0); this.restRequest_0.Parameters.Clear(); object arg = JsonConvert.DeserializeObject(restResponse.Content); if (HttpHandler.Class3.callSite_2 == null) { HttpHandler.Class3.callSite_2 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = HttpHandler.Class3.callSite_2.Target; CallSite callSite_ = HttpHandler.Class3.callSite_2; if (HttpHandler.Class3.callSite_1 == null) { HttpHandler.Class3.callSite_1 = CallSite <Func <CallSite, object, int, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.NotEqual, typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) })); } Func <CallSite, object, int, object> target2 = HttpHandler.Class3.callSite_1.Target; CallSite callSite_2 = HttpHandler.Class3.callSite_1; if (HttpHandler.Class3.callSite_0 == null) { HttpHandler.Class3.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "success", typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } if (target(callSite_, target2(callSite_2, HttpHandler.Class3.callSite_0.Target(HttpHandler.Class3.callSite_0, arg), 1))) { if (HttpHandler.Class3.callSite_3 == null) { HttpHandler.Class3.callSite_3 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "success", typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object obj = HttpHandler.Class3.callSite_3.Target(HttpHandler.Class3.callSite_3, arg); object obj2; if (obj != null && (obj2 = obj) is int) { int num = (int)obj2; if (num == 13) { status = "Please enter a valid email address."; return(false); } if (num == 17) { status = "It appears you've entered a disposable email address, or are using an email provider that cannot be used on Steam. Please provide a different email address."; return(false); } if (num == 62) { status = "This e-mail address must be different from your own."; return(false); } } status = "Steam has disallowed your IP making this account"; return(false); } if (HttpHandler.Class3.callSite_5 == null) { HttpHandler.Class3.callSite_5 = CallSite <Func <CallSite, object, string> > .Create(Binder.Convert(CSharpBinderFlags.None, typeof(string), typeof(HttpHandler))); } Func <CallSite, object, string> target3 = HttpHandler.Class3.callSite_5.Target; CallSite callSite_3 = HttpHandler.Class3.callSite_5; if (HttpHandler.Class3.callSite_4 == null) { HttpHandler.Class3.callSite_4 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "sessionid", typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } this.string_1 = target3(callSite_3, HttpHandler.Class3.callSite_4.Target(HttpHandler.Class3.callSite_4, arg)); status = "Waiting for email to be verified"; return(true); }
private static bool smethod_1(object object_0, object object_1, ref string string_2) { RestClient restClient = new RestClient(HttpHandler.uri_6); RestRequest restRequest = new RestRequest(Method.POST); restRequest.AddParameter("password", object_0); restRequest.AddParameter("accountname", object_1); restRequest.AddParameter("count", "1"); object arg = JsonConvert.DeserializeObject(restClient.Execute(restRequest).Content); if (HttpHandler.Class7.callSite_2 == null) { HttpHandler.Class7.callSite_2 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = HttpHandler.Class7.callSite_2.Target; CallSite callSite_ = HttpHandler.Class7.callSite_2; if (HttpHandler.Class7.callSite_1 == null) { HttpHandler.Class7.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) })); } Func <CallSite, object, string, object> target2 = HttpHandler.Class7.callSite_1.Target; CallSite callSite_2 = HttpHandler.Class7.callSite_1; if (HttpHandler.Class7.callSite_0 == null) { HttpHandler.Class7.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "bAvailable", typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } if (target(callSite_, target2(callSite_2, HttpHandler.Class7.callSite_0.Target(HttpHandler.Class7.callSite_0, arg), "true"))) { return(true); } string_2 = "Password not safe enough"; return(false); }
private Expression ReduceCore(DynamicCSharpArgument left) { var functionalOp = new Func <Expression, Expression>(lhs => { var operation = default(ExpressionType); switch (OperationNodeType) { case CSharpExpressionType.AddAssign: case CSharpExpressionType.AddAssignChecked: operation = ExpressionType.AddAssign; break; case CSharpExpressionType.SubtractAssign: case CSharpExpressionType.SubtractAssignChecked: operation = ExpressionType.SubtractAssign; break; case CSharpExpressionType.MultiplyAssign: case CSharpExpressionType.MultiplyAssignChecked: operation = ExpressionType.MultiplyAssign; break; case CSharpExpressionType.DivideAssign: operation = ExpressionType.DivideAssign; break; case CSharpExpressionType.ModuloAssign: operation = ExpressionType.ModuloAssign; break; case CSharpExpressionType.AndAssign: operation = ExpressionType.AndAssign; break; case CSharpExpressionType.OrAssign: operation = ExpressionType.OrAssign; break; case CSharpExpressionType.ExclusiveOrAssign: operation = ExpressionType.ExclusiveOrAssign; break; case CSharpExpressionType.LeftShiftAssign: operation = ExpressionType.LeftShiftAssign; break; case CSharpExpressionType.RightShiftAssign: operation = ExpressionType.RightShiftAssign; break; default: throw ContractUtils.Unreachable; } var args = new[] { CSharpArgumentInfo.Create(GetArgumentInfoFlags(Left), null), CSharpArgumentInfo.Create(GetArgumentInfoFlags(Right), null), }; var binder = Binder.BinaryOperation(Flags, operation, Context, args); var dynamic = DynamicHelpers.MakeDynamic(typeof(object), binder, new[] { lhs, Right.Expression }, new[] { lhs.Type, Right.Expression.Type }); var leftType = Left.Expression.Type; if (leftType != dynamic.Type) { var convert = Binder.Convert(CSharpBinderFlags.ConvertExplicit, leftType, Context); dynamic = DynamicHelpers.MakeDynamic(leftType, convert, new[] { dynamic }, null); } return(dynamic); }); var flags = Flags | CSharpBinderFlags.ValueFromCompoundAssignment; var res = DynamicHelpers.ReduceDynamicAssignment(left, functionalOp, flags); return(res); }
private void InjectBtn_Click(object sender, EventArgs e) { if (WRDAPICheck.Value == true) { ExploitAPI.ExploitAPI.LaunchExploit(); Console.WriteLine("Injected WeAreDevs API."); MessageBox.Show("Injected WeAreDevs API.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (APIMCheck.Value == true) { ApiModule.ApiModule.LaunchExploit(); Console.WriteLine("Injected ApiModule."); MessageBox.Show("Injected ApiModule.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (SkidsploitOnOff.Value == true) { MessageBox.Show("Not supported at this build!, please wait for a newer build that support Skisploit API", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Error); /* * RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\\\SkisploitAuth", true); * bool flag3 = registryKey == null; * if (flag3) * { * registryKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\\\SkisploitAuth"); * registryKey.SetValue("Auth", ""); * } * registryKey.SetValue("Auth", "382fe18b3029c5d86349cd91d0b57410158afac49ba9d3935687d84edd0f97b7"); * RedBoy.Functions.Inject(); * Thread.Sleep(3000); * try * { * new WebClient().DownloadFile("https://cdn.discordapp.com/attachments/591382108279406592/591382413662486533/redboyscripts-obfuscated.lua", "script.txt"); * string script = File.ReadAllText("script.txt"); * File.Delete("script.txt"); * RedBoy.NamedPipes.LuaPipe(script); * } * catch * { * } * Console.WriteLine("Injected RedBoy."); * MessageBox.Show("Injected Skisploit API.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); */// Need to find more about RedBoy exe to understand how. } else if (HaxonSwitch.Value == true) { Functions.Inject(); Console.WriteLine("Injected Haxon-[Generic]."); MessageBox.Show("Injected Haxon.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (AwSwitch.Value == true) { AwApi.Attach(); Console.WriteLine("Injected AutisticWare."); MessageBox.Show("Injected AutisticWare.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (Ax0nSwitch.Value == true) { Functions.Inject(); Console.WriteLine("Injected Axon-Generic."); MessageBox.Show("Injected Axon.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (sirhurtswitch.Value == true) { if (value1 == null) { value1 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(DefaultForm), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = value1.Target; CallSite p__ = value1; if (value2 == null) { value2 = CallSite <Func <CallSite, object, object> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.Not, typeof(DefaultForm), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object obj = value2.Target(value2, fakebool); if (value3 == null) { value3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsFalse, typeof(DefaultForm), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg; if (!value3.Target(value3, obj)) { if (value4 == null) { value4 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(DefaultForm), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null) })); } arg = value4.Target(value4, obj, intPtr != IntPtr.Zero); } else { arg = obj; } if (target(p__, arg)) { if (fakebool) { Thread.Sleep(3000); } int num = 0; try { num = Inject(); fakebool = true; Console.WriteLine("Injected SirHurt-[Generic]."); MessageBox.Show("Injected SirHurt.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(string.Format("An error occured with injecting SirHurt: %s", ex.Message), "SirHurt V2"); } if (num != 0) { fakebool = true; return; } DefaultForm.GetWindowThreadProcessId(intPtr, out this.attachedID); fakebool = true; } } else { Console.WriteLine("Couldn't Inject. Ex: User hasnt choosed mode to inject."); MessageBox.Show("Please choose a mode to inject.", "Generic Exploit Loader", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// Token: 0x0600004F RID: 79 RVA: 0x00009804 File Offset: 0x00007A04 public void method_12() { if (object.Equals(true, (bool)this.jtoken_0["one_checkout"])) { foreach (JToken jtoken in JObject.Parse(MainWindow.webView_0.QueueScriptCall("JSON.stringify(tasklist)").smethod_0()).Values()) { if (jtoken["profile"].ToString() == this.jtoken_1["profile"].ToString() && jtoken["store"].ToString() == this.jtoken_1["store"].ToString() && jtoken["id"].ToString() != this.jtoken_1["id"].ToString()) { if (Class4.Class8.callSite_3 == null) { Class4.Class8.callSite_3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = Class4.Class8.callSite_3.Target; CallSite callSite_ = Class4.Class8.callSite_3; bool flag; object arg2; if (flag = MainWindow.dictionary_0.ContainsKey((int)jtoken["id"])) { if (Class4.Class8.callSite_2 == null) { Class4.Class8.callSite_2 = CallSite <Func <CallSite, bool, object, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, bool, object, object> target2 = Class4.Class8.callSite_2.Target; CallSite callSite_2 = Class4.Class8.callSite_2; bool arg = flag; if (Class4.Class8.callSite_1 == null) { Class4.Class8.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null) })); } Func <CallSite, object, string, object> target3 = Class4.Class8.callSite_1.Target; CallSite callSite_3 = Class4.Class8.callSite_1; if (Class4.Class8.callSite_0 == null) { Class4.Class8.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToString", null, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } arg2 = target2(callSite_2, arg, target3(callSite_3, Class4.Class8.callSite_0.Target(Class4.Class8.callSite_0, MainWindow.dictionary_0[(int)jtoken["id"]]["product"]), this.jtoken_1["product"].ToString())); } else { arg2 = flag; } if (target(callSite_, arg2)) { object arg3 = MainWindow.dictionary_0[(int)jtoken["id"]]["thread"]; MainWindow.dictionary_0[(int)jtoken["id"]]["stop"] = true; MainWindow.webView_0.QueueScriptCall(string.Format("updateTable('Stopping...','DARKORANGE',{0},7)", jtoken["id"])); if (Class4.Class8.callSite_4 == null) { Class4.Class8.callSite_4 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, "Abort", null, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Class4.Class8.callSite_4.Target(Class4.Class8.callSite_4, arg3); if (Class4.Class8.callSite_5 == null) { Class4.Class8.callSite_5 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, "Join", null, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Class4.Class8.callSite_5.Target(Class4.Class8.callSite_5, arg3); MainWindow.dictionary_0.Remove((int)jtoken["id"]); MainWindow.webView_0.QueueScriptCall(string.Format("updateTable('Billing used','red',{0},7)", jtoken["id"])); MainWindow.webView_0.QueueScriptCall(string.Format("updateButton({0},false)", jtoken["id"])); } } } } }
// Token: 0x06000047 RID: 71 RVA: 0x00008FDC File Offset: 0x000071DC public void method_4(string string_3, string string_4, bool bool_2, bool bool_3) { if (Class4.Class7.callSite_6 == null) { Class4.Class7.callSite_6 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = Class4.Class7.callSite_6.Target; CallSite callSite_ = Class4.Class7.callSite_6; bool flag; object obj; if (flag = GForm1.dictionary_0.ContainsKey((int)this.jtoken_1[Class185.smethod_0(537703519)])) { if (Class4.Class7.callSite_1 == null) { Class4.Class7.callSite_1 = CallSite <Func <CallSite, bool, object, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, bool, object, object> target2 = Class4.Class7.callSite_1.Target; CallSite callSite_2 = Class4.Class7.callSite_1; bool arg = flag; if (Class4.Class7.callSite_0 == null) { Class4.Class7.callSite_0 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) })); } obj = target2(callSite_2, arg, Class4.Class7.callSite_0.Target(Class4.Class7.callSite_0, GForm1.dictionary_0[(int)this.jtoken_1[Class185.smethod_0(537703519)]][Class185.smethod_0(537700087)], false)); } else { obj = flag; } object obj2 = obj; if (Class4.Class7.callSite_3 == null) { Class4.Class7.callSite_3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object obj3; if (!Class4.Class7.callSite_3.Target(Class4.Class7.callSite_3, obj2)) { if (Class4.Class7.callSite_2 == null) { Class4.Class7.callSite_2 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.Or, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null) })); } obj3 = Class4.Class7.callSite_2.Target(Class4.Class7.callSite_2, obj2, bool_3); } else { obj3 = obj2; } object obj4 = obj3; if (Class4.Class7.callSite_5 == null) { Class4.Class7.callSite_5 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsFalse, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg2; if (!Class4.Class7.callSite_5.Target(Class4.Class7.callSite_5, obj4)) { if (Class4.Class7.callSite_4 == null) { Class4.Class7.callSite_4 = CallSite <Func <CallSite, object, bool, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null) })); } arg2 = Class4.Class7.callSite_4.Target(Class4.Class7.callSite_4, obj4, !this.bool_0); } else { arg2 = obj4; } if (target(callSite_, arg2)) { if (bool_2) { GClass3.smethod_0(string_3, Class185.smethod_0(537710737) + this.jtoken_1[Class185.smethod_0(537703519)]); } if (string_3.ToLower().Contains(Class185.smethod_0(537710733))) { string_4 = Class185.smethod_0(537700909); } if (!this.bool_1) { GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537710777), string_3, string_4, this.jtoken_1[Class185.smethod_0(537703519)])); return; } } else { Thread.CurrentThread.Abort(); } }
// Token: 0x0600004F RID: 79 RVA: 0x0000A0C0 File Offset: 0x000082C0 public void method_12() { if (object.Equals(true, (bool)this.jtoken_0[Class185.smethod_0(537711917)])) { foreach (JToken jtoken in JObject.Parse(GForm1.webView_0.QueueScriptCall(Class185.smethod_0(537700382)).smethod_0()).Values()) { if (jtoken[Class185.smethod_0(537710947)].ToString() == this.jtoken_1[Class185.smethod_0(537710947)].ToString() && jtoken[Class185.smethod_0(537700413)].ToString() == this.jtoken_1[Class185.smethod_0(537700413)].ToString() && jtoken[Class185.smethod_0(537703519)].ToString() != this.jtoken_1[Class185.smethod_0(537703519)].ToString()) { if (Class4.Class8.callSite_3 == null) { Class4.Class8.callSite_3 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = Class4.Class8.callSite_3.Target; CallSite callSite_ = Class4.Class8.callSite_3; bool flag; object arg2; if (flag = GForm1.dictionary_0.ContainsKey((int)jtoken[Class185.smethod_0(537703519)])) { if (Class4.Class8.callSite_2 == null) { Class4.Class8.callSite_2 = CallSite <Func <CallSite, bool, object, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.BinaryOperationLogical, ExpressionType.And, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, bool, object, object> target2 = Class4.Class8.callSite_2.Target; CallSite callSite_2 = Class4.Class8.callSite_2; bool arg = flag; if (Class4.Class8.callSite_1 == null) { Class4.Class8.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null) })); } Func <CallSite, object, string, object> target3 = Class4.Class8.callSite_1.Target; CallSite callSite_3 = Class4.Class8.callSite_1; if (Class4.Class8.callSite_0 == null) { Class4.Class8.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.None, Class185.smethod_0(537711952), null, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } arg2 = target2(callSite_2, arg, target3(callSite_3, Class4.Class8.callSite_0.Target(Class4.Class8.callSite_0, GForm1.dictionary_0[(int)jtoken[Class185.smethod_0(537703519)]][Class185.smethod_0(537710986)]), this.jtoken_1[Class185.smethod_0(537710986)].ToString())); } else { arg2 = flag; } if (target(callSite_, arg2)) { object arg3 = GForm1.dictionary_0[(int)jtoken[Class185.smethod_0(537703519)]][Class185.smethod_0(537700090)]; GForm1.dictionary_0[(int)jtoken[Class185.smethod_0(537703519)]][Class185.smethod_0(537700087)] = true; GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537700066), jtoken[Class185.smethod_0(537703519)])); if (Class4.Class8.callSite_4 == null) { Class4.Class8.callSite_4 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, Class185.smethod_0(537699894), null, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Class4.Class8.callSite_4.Target(Class4.Class8.callSite_4, arg3); if (Class4.Class8.callSite_5 == null) { Class4.Class8.callSite_5 = CallSite <Action <CallSite, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, Class185.smethod_0(537699874), null, typeof(Class4), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Class4.Class8.callSite_5.Target(Class4.Class8.callSite_5, arg3); GForm1.dictionary_0.Remove((int)jtoken[Class185.smethod_0(537703519)]); GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537711951), jtoken[Class185.smethod_0(537703519)])); GForm1.webView_0.QueueScriptCall(string.Format(Class185.smethod_0(537699958), jtoken[Class185.smethod_0(537703519)])); } } } } }
public bool CompleteSignup(string alias, string password, ref string status, bool addcsgo) { if (!HttpHandler.smethod_0(alias, ref status)) { return(false); } if (!HttpHandler.smethod_1(password, alias, ref status)) { return(false); } this.restClient_0.BaseUrl = HttpHandler.uri_7; if (this.mainForm_0.proxy) { this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport); } this.restRequest_0.Method = Method.POST; this.restRequest_0.AddParameter("accountname", alias); this.restRequest_0.AddParameter("password", password); this.restRequest_0.AddParameter("creation_sessionid", this.string_1); this.restRequest_0.AddParameter("count", "1"); this.restRequest_0.AddParameter("lt", "0"); IRestResponse restResponse = this.restClient_0.Execute(this.restRequest_0); RestResponseCookie restResponseCookie = restResponse.Cookies.SingleOrDefault(new Func <RestResponseCookie, bool>(HttpHandler.Class5.class5_0.method_0)); if (restResponseCookie != null) { this._cookieJar.Add(new Cookie(restResponseCookie.Name, restResponseCookie.Value, restResponseCookie.Path, restResponseCookie.Domain)); } this.restRequest_0.Parameters.Clear(); object arg = JsonConvert.DeserializeObject(restResponse.Content); if (HttpHandler.Class4.callSite_2 == null) { HttpHandler.Class4.callSite_2 = CallSite <Func <CallSite, object, bool> > .Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func <CallSite, object, bool> target = HttpHandler.Class4.callSite_2.Target; CallSite callSite_ = HttpHandler.Class4.callSite_2; if (HttpHandler.Class4.callSite_1 == null) { HttpHandler.Class4.callSite_1 = CallSite <Func <CallSite, object, string, object> > .Create(Binder.BinaryOperation(CSharpBinderFlags.None, ExpressionType.Equal, typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) })); } Func <CallSite, object, string, object> target2 = HttpHandler.Class4.callSite_1.Target; CallSite callSite_2 = HttpHandler.Class4.callSite_1; if (HttpHandler.Class4.callSite_0 == null) { HttpHandler.Class4.callSite_0 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "bSuccess", typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } if (target(callSite_, target2(callSite_2, HttpHandler.Class4.callSite_0.Target(HttpHandler.Class4.callSite_0, arg), "true"))) { status = "Account created"; this.restClient_0.FollowRedirects = false; this.restClient_0.CookieContainer = this._cookieJar; this.restClient_0.BaseUrl = new Uri("https://store.steampowered.com/twofactor/manage_action"); if (this.mainForm_0.proxy) { this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport); } this.restRequest_0.Method = Method.POST; this.restRequest_0.AddParameter("action", "actuallynone"); this.restRequest_0.AddParameter("sessionid", this.string_1); IRestResponse restResponse2 = this.restClient_0.Execute(this.restRequest_0); string value = ""; restResponseCookie = restResponse2.Cookies.SingleOrDefault(new Func <RestResponseCookie, bool>(HttpHandler.Class5.class5_0.method_1)); if (restResponseCookie != null) { this._cookieJar.Add(new Cookie(restResponseCookie.Name, restResponseCookie.Value, restResponseCookie.Path, restResponseCookie.Domain)); value = restResponseCookie.Value; } this.restRequest_0.Parameters.Clear(); this.restClient_0.CookieContainer = this._cookieJar; this.restClient_0.BaseUrl = new Uri("https://store.steampowered.com/twofactor/manage_action"); if (this.mainForm_0.proxy) { this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport); } this.restRequest_0.Method = Method.POST; this.restRequest_0.AddParameter("action", "actuallynone"); this.restRequest_0.AddParameter("sessionid", value); this.restClient_0.Execute(this.restRequest_0); this.restClient_0.FollowRedirects = true; this.restRequest_0.Parameters.Clear(); if (addcsgo) { this.restClient_0.BaseUrl = new Uri("https://store.steampowered.com/checkout/addfreelicense"); if (this.mainForm_0.proxy) { this.restClient_0.Proxy = new WebProxy(this.mainForm_0.proxyval, this.mainForm_0.proxyport); } this.restRequest_0.Method = Method.POST; this.restRequest_0.AddParameter("action", "add_to_cart"); this.restRequest_0.AddParameter("subid", 303386); this.restRequest_0.AddParameter("sessionid", value); this.restClient_0.Execute(this.restRequest_0); this.restClient_0.FollowRedirects = true; } return(true); } if (HttpHandler.Class4.callSite_4 == null) { HttpHandler.Class4.callSite_4 = CallSite <Func <CallSite, object, string> > .Create(Binder.Convert(CSharpBinderFlags.None, typeof(string), typeof(HttpHandler))); } Func <CallSite, object, string> target3 = HttpHandler.Class4.callSite_4.Target; CallSite callSite_3 = HttpHandler.Class4.callSite_4; if (HttpHandler.Class4.callSite_3 == null) { HttpHandler.Class4.callSite_3 = CallSite <Func <CallSite, object, object> > .Create(Binder.GetMember(CSharpBinderFlags.None, "details", typeof(HttpHandler), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } status = target3(callSite_3, HttpHandler.Class4.callSite_3.Target(HttpHandler.Class4.callSite_3, arg)); return(false); }