Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let request = require('request-promise-native');
- const CryptoJS = require("crypto-js");
- const cheerio = require('cheerio');
- // const fs = require('fs');
- const __di = {
- "na": "N/A",
- "deviceCode": "39ec228afe9f09c4f00f3678c5126533d16e6859;2ccae9dbe225e09f2427963f66f9cd00",
- "appVersion": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
- "timeZone": "-420",
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
- "screen": {
- "width": 1920,
- "height": 1080,
- "colorDepth": 24
- },
- "deviceId": "2e129f946d204cb08bae7d7cce9072fa",
- "href": "https://www.b88ag.com/",
- "capturedDate": "637515726451497109",
- "geolocation": "",
- "version": "2.0.4"
- };
- const base64EncodeJson = text => {
- const word = CryptoJS.enc.Utf8.parse(JSON.stringify(text));
- return CryptoJS.enc.Base64.stringify(word);
- };
- const encrypt = (n, t) => {
- var i = CryptoJS.enc.Utf8.parse("a5s8d2e9c172" + t)
- , r = i;
- return CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(n), i, {
- keySize: 16,
- iv: r,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.Pkcs7
- }).toString();
- };
- request = request.defaults({
- baseUrl: 'https://www.b88ag.com',
- jar: request.jar()
- });
- const getParamLogin = (txtUserName, pass) => {
- return new Promise(async (resolve, reject) => {
- try {
- const res = await request.get('/');
- // const res = fs.readFileSync('data.html', { encoding: 'utf-8' });
- const {deviceId} = __di;
- const $ = cheerio.load(res);
- const code = $('#code').val();
- const txtPassWord = encrypt(pass, code);
- const analysis = {
- "startTime": Date.now(),
- "version": "2.0.4",
- "exceptions": [],
- "executions": [],
- "storages": [],
- "devices": [],
- "enable": true
- };
- const captchaResuft = {
- "success": true,
- "challenge_ts": "2021-03-17T14:15:27Z",
- "hostname": "www.b88ag.com",
- "score": 0.9,
- "action": "login"
- };
- resolve({
- hidLanguage: 'en-US',
- txtUserName,
- txtPassWord,
- code,
- 'detecas-analysis': JSON.stringify(analysis),
- __tk: $('#__tk').val(),
- 'captcha_result': JSON.stringify(captchaResuft),
- __RequestVerificationToken: $('input[name="__RequestVerificationToken"]').val(),
- browserSize: '1920x937',
- __di: base64EncodeJson(__di),
- deviceId
- });
- } catch (error) {
- reject(error);
- }
- });
- };
- const validateCaptcha = () => {
- return new Promise(async(resolve, reject) => {
- try {
- const res = await request({
- uri: '/Auth/ValidateGoogleCaptcha',
- method: 'POST',
- });
- } catch (error) {
- }
- });
- };
- const login = () => {
- return new Promise(async(resolve, reject) => {
- try {
- const paramReq = await getParamLogin('SUB88UF9OPIT', '111qqq@Q');
- const res = await request({
- uri: '/',
- method: 'POST',
- form: paramReq
- });
- reject(res);
- } catch (error) {
- resolve(error.response.body);
- }
- });
- }
- login()
- .then(data => console.log(data))
- .catch(err => console.log(1));
Add Comment
Please, Sign In to add comment