RequestFb request = new RequestFb(ProxyUrl: job.pro.ProxyUrl);
string html = request.Get("https://www.facebook.com/login/identify/?ctx=recover&from_login_screen=0").Result;
if (string.IsNullOrEmpty(html))
{
row.Status = $"Lỗi load mạng";
return;
}
else row.Status = "Load Wall";
string code = "";
string clickstart = "";
if (string.IsNullOrEmpty(job.JobData))
{
row.Status = "Vào link Recover";
clickstart = request.PostAsync("https://www.facebook.com/ajax/login/help/identify.php?ctx=recover", "jazoest={Var:Jazoest}&lsd={Var:LSD}&email=" + RegexEscape(job.pro.Email) + "&did_submit=1&__user=0&__a=1&__dyn=&__csr=&__req=8&__hs=&dpr=1&__ccg=EXCELLENT&__rev=&__s=&__hsi=&__comet_req=0&__spin_r=&__spin_b=trunk&__spin_t=").Result;
if (clickstart.IsContains("captcha_persist_data"))
{
string captcha_persisted_data = RegexMatch(clickstart, "\"captcha_persist_data\":\"(.*?)\"").Groups[1].Value;
string codecaptcha = "";
if (string.IsNullOrEmpty(captcha_persisted_data))
{
row.Status = $"Lỗi data captcha : " + clickstart.Replace("\r", "").Replace("\n", "");
return;
}
Captcha any = new Captcha();
any.RecaptchaV2Proxyless("6Lc9qjcUAAAAADTnJq5kJMjN9aD1lxpRLMnCS2TR", "https://www.fbsbx.com/captcha/recaptcha/iframe/");
codecaptcha = any.Result;
if (string.IsNullOrEmpty(codecaptcha))
{
row.Status = $"Giải mã captcha lỗi!";
return;
}
else row.Status = $"Giải mã captcha thành công!";
string linkcaptcha = "https://www.facebook.com/recover/initiate/";
//string data = "jazoest=2910&lsd=AVpqS2LdH2g&captcha_persist_data=&captcha_response=&captcha_submit=1";
clickstart = request.PostAsync(linkcaptcha, "jazoest={Var:Jazoest}&lsd={Var:LSD}&captcha_persist_data=" + captcha_persisted_data + "&captcha_response=" + codecaptcha + "&captcha_submit=1").Result;
}
string link = RegexMatch(clickstart.Replace("\\", ""), "href=\"(.*?)\"").Groups[1].Value;
Task.Delay(rd.Next(100, 2000)).Wait();
row.Status = "Gửi yêu cầu Recover";
clickstart = request.Get("https://www.facebook.com" + link).Result;
string openid = RegexMatch(clickstart, "name=\"openid_provider_id\" value=\"(.*?)\"").Groups[1].Value;
string openname = RegexMatch(clickstart, "name=\"openid_provider_name\" value=\"(.*?)\"").Groups[1].Value;
row.Status = "Gửi mã về mail";
clickstart = request.PostAsync("https://www.facebook.com/ajax/recover/initiate/", "jazoest={Var:Jazoest}&lsd={Var:LSD}&openid_provider_id=" + openid + "&openid_provider_name=" + openname + "&recover_method=send_email&reset_action=1&__user=0&__a=1&__dyn=&__csr=&__req=8&__hs=&dpr=1&__ccg=EXCELLENT&__rev=&__s=&__hsi=&__comet_req=0&__spin_r=&__spin_b=trunk&__spin_t=").Result;
link = RegexMatch(RegexUnescape(clickstart).Replace("[", "").Replace("]", ""), "\"redirectPageTo\",,\"(.*?)\"").Groups[1].Value;
clickstart = request.Get(link).Result;
request.LSD = RegexMatch(clickstart, "name=\"lsd\" value=\"(.*?)\"").Groups[1].Value;
request.Jazoest = RegexMatch(clickstart, "name=\"jazoest\" value=\"(.*?)\"").Groups[1].Value;
if (domaintempmailprivate.IsContains(domain) || domainmailtm.IsContains(domain) || domainfvia.IsContains(domain) || domaingetnada.IsContains(domain) || domaininboxes.IsContains(domain) || domainmailmoakt.IsContains(domain) || domaintempm.IsContains(domain))
code = tmail.GetCode("facebook");
else code = job.pro.GetMail("security@facebookmail.com", 60, 6);
if (string.IsNullOrEmpty(code) || code.IsContains("Lỗi : "))
{
row.Status = $"Lỗi lấy otp từ mail. {code}";
return;
}
else row.Status = $"Code từ mail {code}";
}
else code = job.JobData;
clickstart = request.PostAsync("https://www.facebook.com/recover/code/?em%5B0%5D=" + RegexEscape(job.pro.Email) + "&rm=send_email&spc=0&fl=default_recover&wsr=0", "jazoest={Var:Jazoest}&lsd={Var:LSD}&n=" + code + "&reset_action=1").Result;
//
if (string.IsNullOrEmpty(password)) password = RandomPassword(12);
//string tempget = request.Get($"https://www.facebook.com/recover/password/?u={job.pro.UID}&n={code}&fl=default_recover&sih=0&msgr=0").Result;
string clickSavePass = request.PostAsync($"https://www.facebook.com/recover/password/write/?u={job.pro.UID}&n={code}&fl=default_recover", "jazoest={Var:Jazoest}&lsd={Var:LSD}&password_new=" + RegexEscape(password)).Result;
if (string.IsNullOrEmpty(clickSavePass))
{
row.Status = $"Lỗi Click SavePass";
return;
}
else row.Status = "Click SavePass";
Task.Delay(rd.Next(100, 2000)).Wait();
if (!string.IsNullOrEmpty(job.pro.Password))
row.StoryID = job.pro.Password;
SaveOneProfile(filebackup, job.pro);
job.pro.Password = password;
row.StoryID1 = password;
job.pro.Cookie = request.GetCookie();
SaveOneProfile(filedata, job.pro);
Task.Delay(rd.Next(100, 2000)).Wait();
string temp = clickSavePass;
string nh = RegexMatch(temp, "name=\"nh\" value=\"(.*?)\"").Groups[1].Value;
string jozoest = RegexMatch(temp, "name=\"jazoest\" value=\"(.*?)\"").Groups[1].Value;
string fb_dtsg = RegexMatch(temp, "name=\"fb_dtsg\" value=\"(.*?)\"").Groups[1].Value;
if (!string.IsNullOrEmpty(job.pro.SecrectKey))
{
var tfa = new TwoFactorAuth();
string code2fa = tfa.GetCode(job.pro.SecrectKey.Replace(" ", "").ToUpper());
row.Status = "Gửi 2FA : " + code2fa;
string post2FA = request.PostAsync($"https://www.facebook.com/checkpoint/?next", $"jazoest={jozoest}&fb_dtsg={fb_dtsg}&nh={nh}&no_fido=true&approvals_code=" + code2fa + "&submit%5BContinue%5D=Continue").Result;
if (post2FA.IsContains("id=\"approvals_code\""))
{
row.Status = "Nhập sai OTP";
return;
}
}
row.Status = "Lưu trình duyệt";
string saveChrome = request.PostAsync($"https://en-gb.facebook.com/checkpoint/?next", $"jazoest={jozoest}&fb_dtsg={fb_dtsg}&nh={nh}&name_action_selected=save_device&submit%5BContinue%5D=Continue").Result;
if (saveChrome.IsContains("checkpointSubmitButton"))
{
row.Status = "Xác nhận đăng nhập địa điểm lạ";
string temp1 = request.PostAsync($"https://en-gb.facebook.com/checkpoint/?next", $"jazoest={jozoest}&fb_dtsg={fb_dtsg}&nh={nh}&submit%5BContinue%5D=Continue").Result;
string temp2 = request.PostAsync($"https://en-gb.facebook.com/checkpoint/?next", $"jazoest={jozoest}&fb_dtsg={fb_dtsg}&nh={nh}&submit%5BThis+was+me%5D=This+was+me").Result;
string temp3 = request.PostAsync($"https://en-gb.facebook.com/checkpoint/?next", $"jazoest={jozoest}&fb_dtsg={fb_dtsg}&nh={nh}&name_action_selected=save_device&submit%5BContinue%5D=Continue").Result;
if (temp1.IsContains("submit[Download Your Information]") || temp2.IsContains("submit[Download Your Information]") || temp3.IsContains("submit[Download Your Information]"))
{
row.Status = "Tài khoản của bạn bị vô hiệu hóa";
return;
}
}
if (saveChrome.IsContains("submit[Download Your Information]"))
{
row.Status = "Tài khoản của bạn bị vô hiệu hóa";
return;
}