Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var config = require('./config.js');
- var random = require('./random.js');
- var Browser = require('zombie');
- var browser = new Browser();
- var deathbycaptcha = require('deathbycaptcha4');
- var request = require('request');
- var fs = require('fs');
- var robot = require("robotjs");
- var Chance = require('chance'),
- chance = new Chance();
- var proxyType = process.argv[2];
- var medium = process.argv[3];
- var server = process.argv[4].toLowerCase();
- var dbcReady = false;
- var httpsProxies = [];
- var socket =
- require('socket.io-client')('http://89.2.60.104:1332/');
- socket.on('connect', function(){
- socket.emit('authenticate', 'account_creator', '0oiqejgoijqhn#qwflkjhn');
- console.log('Connected to master bot');
- });
- socket.on('startWork', function(){
- doTheWork();
- });
- socket.on('giveData', function(type, dataArray) {
- switch (type) {
- case 'dbc_acc':
- deathbycaptcha.credentials({
- username: dataArray[0].split(':')[0],
- password: dataArray[0].split(':')[1]
- });
- dbcReady = true;
- break;
- case 'https_proxies':
- for (var i = 0; i < dataArray.length; i++) {
- httpsProxies.push(dataArray[i]);
- }
- break;
- }
- doTheWork();
- })
- socket.on('disconnect', function(){});
- function doTheWork() {
- console.log('doing the work ...')
- if (!dbcReady) {
- socket.emit('getData', 'dbc_acc', 1);
- return;
- }
- if (httpsProxies.length == 0 && proxyType != 'NOPROXY') {
- socket.emit('getData', 'https_proxies', 1);
- return;
- }
- switch (medium) {
- case 'LOL':
- robot.setMouseDelay(25);
- robot.setKeyboardDelay(35);
- var screenSize = robot.getScreenSize();
- console.log(screenSize);
- var height = screenSize.height;
- var width = screenSize.width;
- var offset = 20;
- robot.keyTap('left', 'alt');
- robot.moveMouse(1419, 42+offset);
- robot.mouseClick();
- robot.moveMouse(1227, 131+offset);
- robot.mouseClick();
- // configs
- var urlSignupPage = 'https://signup.' + server + '.leagueoflegends.com/en/signup/index?realm_key=' + server;
- // google chrome should be started, no tabs opened
- // lets open the signup page
- robot.moveMouse(442, 43+offset);
- robot.mouseClick();
- robot.keyTap('a', 'control');
- robot.typeString(urlSignupPage);
- robot.keyTap('enter');
- // at this point the page starts the load, and we need to wait for full load
- var pageLoaded = false;
- while (!pageLoaded) {
- var pixel = robot.getPixelColor(74, 12+offset);
- //console.log(pixel);
- if (pixel == '1d87da') pageLoaded = true;
- }
- // acc info
- var info = {
- name: random.name(),
- pw: random.password(),
- emailPrefix: random.emailPrefix(),
- emailSuffix: random.emailSuffix(),
- birthday: random.birthday()
- }
- console.log(info);
- var pw = random.password();
- robot.moveMouse(1125, 288+offset);
- robot.mouseClick();
- robot.typeString(info.name);
- robot.keyTap('tab');
- robot.typeString(info.pw);
- robot.keyTap('tab');
- robot.typeString(info.pw);
- robot.keyTap('tab');
- robot.typeString(info.emailPrefix);
- robot.keyTap('@', 'shift');
- robot.typeString(info.emailSuffix);
- robot.keyTap('tab');
- if (server == 'na') {
- robot.keyTap('down');
- robot.keyTap('up');
- for (var i = 1; i <= info.birthday.getUTCMonth(); i++) {
- robot.keyTap('down');
- }
- robot.keyTap('tab');
- robot.typeString(info.birthday.getUTCDate());
- robot.keyTap('tab');
- } else {
- robot.typeString(info.birthday.getUTCDate());
- robot.keyTap('tab');
- robot.keyTap('down');
- robot.keyTap('up');
- for (var i = 1; i <= info.birthday.getUTCMonth(); i++) {
- robot.keyTap('down');
- }
- robot.keyTap('tab');
- }
- robot.typeString(info.birthday.getUTCFullYear());
- robot.keyTap('tab');
- robot.moveMouse(851, 572+offset);
- robot.mouseClick();
- robot.moveMouse(851, 595+offset);
- robot.mouseClick();
- robot.moveMouse(869, 694+offset);
- robot.mouseClick();
- // at this point the user manually fills captcha and submit form, we wait
- var pageLoaded = false;
- while (!pageLoaded) {
- var pixel = robot.getPixelColor(1015, 358+offset);
- //console.log(pixel);
- if (pixel == 'd3683b') pageLoaded = true;
- }
- // at this point the user manually reloads page until the username displays
- // var pageLoaded = false;
- // while (!pageLoaded) {
- // var pixel = robot.getPixelColor(833, 841+offset);
- // //console.log(pixel);
- // if (pixel == 'ad8f4e') pageLoaded = true;
- // }
- robot.keyTap('w','control');
- robot.keyTap('right', 'alt');
- // here the account is created !! sending to master bot
- socket.emit('newData', 'lol_acc_' + server, JSON.stringify([info.name + ':' + info.pw]));
- setTimeout(function() {
- process.exit();
- }, 1000);
- // console.log(urlSignupPage);
- // loadSignupPageLOL(urlSignupPage, function(signupInfo) {
- // console.log(signupInfo);
- // generateRecaptchaGoogle(function(captcha) {
- // console.log(captcha);
- // crackRecaptchaGoogle(captcha, function(captchaResult) {
- // console.log(captchaResult);
- // setTimeout(fillTheSignupFormLOL(signupInfo, captcha, captchaResult), chance.integer({min: 1000, max: 2000}));
- // });
- // });
- // });
- break;
- case 'GMX':
- var urlSignupPage = 'https://service.gmx.com/registration.html';
- loadSignupPageGMX(urlSignupPage, function(signupInfo) {
- console.log(signupInfo);
- });
- break;
- }
- }
- function loadSignupPageGMX(url, callback) {
- var j = request.jar();
- request({
- url: url,
- headers: random.headers(),
- jar: j,
- proxy: 'http://' + httpsProxies[0],
- timeout: 15000
- }, function (err, response, body) {
- if(err) {
- console.log(err);
- console.log('Error while fetching signup page');
- process.exit(code=0);
- }
- var result = {jar: j};
- return callback(result);
- });
- }
- function loadSignupPageLOL(url, callback) {
- var j = request.jar();
- var requestConfig = {
- url: url,
- headers: random.headers(),
- jar: j,
- timeout: 15000
- };
- if (proxyType != 'NOPROXY')
- requestConfig.proxy = 'http://' + httpsProxies[0];
- request(requestConfig, function (err, response, body) {
- if(err) {
- console.log(err);
- console.log('Error while fetching signup page');
- process.exit(code=0);
- }
- var result = {jar: j};
- // parsing token key
- if(body.indexOf('data[_Token][key]')>=0){
- var tempBody = body.substr(body.indexOf('data[_Token][key]')+26);
- tempBody = tempBody.substr(0, tempBody.indexOf('"'));
- result.tokenKey = tempBody;
- }
- // parsing token fields
- if(body.indexOf('data[_Token][fields]')>=0){
- var tempBody = body.substr(body.indexOf('data[_Token][fields]')+29);
- tempBody = tempBody.substr(0, tempBody.indexOf('"'));
- result.tokenFields = tempBody;
- }
- return callback(result);
- });
- }
- function generateRecaptchaGoogle(callback) {
- var url = 'https://www.google.com/recaptcha/api/challenge?k=6LfIGv0SAAAAAMlOtNMMbb6PA6VQAMQcJ_cD4fRm';
- request({url: url, headers: random.headers()}, function (err, response, body) {
- if (err) console.log(err);
- // parsing the challengeId
- var captcha = {
- challengeId: body.substring(body.indexOf('challenge : \'') + 13).substring(0, body.substring(body.indexOf('challenge : \'') + 13).indexOf('\''))
- };
- captcha.challengeUrl = 'https://www.google.com/recaptcha/api/image?c=' + captcha.challengeId;
- request(captcha.challengeUrl).pipe(fs.createWriteStream('captcha.png'));
- return callback(captcha);
- });
- }
- function crackRecaptchaGoogle(captcha, callback) {
- deathbycaptcha.decodeUrl(captcha.challengeUrl, 1000, function(err, captchaResult) {
- return callback(captchaResult);
- });
- }
- function fillTheSignupFormLOL(signupInfo, captcha, captchaResult, callback) {
- var password = random.password();
- var form = {
- '_method': 'POST',
- 'data[_Token][key]': signupInfo.tokenKey,
- 'data[PvpnetAccount][name]': random.name(),
- 'data[PvpnetAccount][password]': password,
- 'data[PvpnetAccount][confirm_password]': password,
- 'data[PvpnetAccount][email_address]': random.emailAddress(),
- 'data[PvpnetAccount][date_of_birth_day]': ('0' + random.birthday().getUTCDate()).slice(-2),
- 'data[PvpnetAccount][date_of_birth_month]': ('0' + (random.birthday().getUTCMonth()+1)).slice(-2),
- 'data[PvpnetAccount][date_of_birth_year]': random.birthday().getUTCFullYear(),
- 'data[PvpnetAccount][realm]': server,
- 'data[PvpnetAccount][tou_agree]': 1,
- 'data[PvpnetAccount][newsletter]': 1,
- 'recaptcha_challenge_field': captcha.challengeId,
- 'recaptcha_response_field': captchaResult.text,
- 'data[_Token][fields]': signupInfo.tokenFields
- }
- console.log(form);
- var requestConfig = {
- url:'https://signup.' + server + '.leagueoflegends.com/en/signup/index?realm_key=' + server,
- headers: random.headers(),
- form: form,
- jar: signupInfo.jar,
- followAllRedirects: true,
- timeout: 15000
- };
- if (proxyType != 'NOPROXY')
- requestConfig.proxy = 'http://' + httpsProxies[0];
- request.post(requestConfig, function(err,httpResponse,body){
- if(err) {
- console.log(err);
- console.log('Error while submitting form');
- process.exit(code=0);
- return;
- }
- if(body){
- if(body.indexOf('<li class="error">User name already in use</li>')>=0){
- console.log('User name already in use');
- process.exit(code=0);
- } else if(body.indexOf('<span class="error">The reCaptcha code was incorrect</span>')>=0){
- deathbycaptcha.report(captcha.id, function(err, results) {
- if(err) console.log(err);
- console.log('The reCaptcha code was incorrect');
- process.exit(code=0);
- });
- } else {
- fs.writeFile("result.html", body, function(err) {
- if(body.indexOf('<h4>Your League of Legends Username is: </h4><p class="username">' + form['data[PvpnetAccount][name]'])>=0) {
- console.log('Account created: ' + form['data[PvpnetAccount][name]'] + ' ' + form['data[PvpnetAccount][password]']);
- socket.emit('newData', 'lol_acc_' + server, JSON.stringify([form['data[PvpnetAccount][name]'] + ':' + form['data[PvpnetAccount][password]']]));
- setTimeout(function(){process.exit(code=0)},2500);
- } else {
- console.log('Undetected error');
- process.exit(code=0);
- }
- });
- }
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement