Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mass Account Maker, anyone interested?

Featured Replies

Hi there,

 

Since last night i have been working on a project to make mass accounts all automated ^_^ 

 

this involves creating:

 

- Random Password.

- Random Username.

- Random Age.

- Random Email.

 

Then it fills this out in the Sign up page on Runescape and makes the account ^_^

 

would anyone be interested in this service? if so post below thanks! 

 

I plan on developing it to complete tutorial island etc, but that is for another day ^_^

 

Please post your opinions below, all are welcome ^_^

 

 

Precise

  • Author

Whats the point of makin mass accounts?

 

so instead of spending ages making 10 accounts, this will make then in a fraction of the time.

They will block your IP after 5-10 accounts tongue.png

 

:o noooooooo ill test this and get back to you.

They will block your IP after 5-10 accounts :p

This is probably true.

This is probably true.

 

Is true, but the block only last so long. I've probably made upwards of 50 accs in a day, not really trying (testing tut island script tongue.png).

 

Also, here is some code I made for a java acc creator. (Note it's for a dead client I used to be a part of, so some relics may remain tongue.png)

 

import javax.net.ssl.HttpsURLConnection;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
import java.awt.BorderLayout;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
 
import org.liquidbot.bot.Configuration;
import org.liquidbot.bot.script.api.util.Random;
import org.liquidbot.bot.utils.Logger;
 
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.Font;
import java.awt.Color;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import javax.swing.JTextPane;
 
public class AccountCreator extends JFrame {
 
    private static final long serialVersionUID = -2081171776222864787L;
    
    private JTextField txtName;
    private JTextField txtEmail;
    private JLabel lblDemoAcc;
    private KeyAdapter keyAdapter;
    private JLabel lblBlocked;
    private static int flag;
 
    private static boolean asUppercase;
    
    private Logger log = new Logger(getClass());
    
    public AccountCreator() {
        setResizable(false);
        setTitle("Account Creator");
        setSize(450, 287);
        getContentPane().setLayout(new BorderLayout(0, 0));
        
        JPanel panel = new JPanel();
        getContentPane().add(panel, BorderLayout.CENTER);
        panel.setLayout(null);
        
        keyAdapter = new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                updateText();
            }
        };
        
        txtName = new JTextField();
        txtName.addKeyListener(keyAdapter);
        txtName.setText("{C8}{n4}");
        txtName.setBounds(12, 12, 191, 19);
        panel.add(txtName);
        txtName.setColumns(10);
        
        JLabel label = new JLabel("@");
        label.setBounds(217, 14, 23, 15);
        panel.add(label);
        
        txtEmail = new JTextField();
        txtEmail.addKeyListener(keyAdapter);
        txtEmail.setText("gmail.com");
        txtEmail.setBounds(245, 12, 191, 19);
        panel.add(txtEmail);
        txtEmail.setColumns(10);
        
        JLabel lblSample = new JLabel("Sample:");
        lblSample.setBounds(22, 43, 70, 15);
        panel.add(lblSample);
        
        lblDemoAcc = new JLabel("");
        lblDemoAcc.setBounds(104, 43, 332, 15);
        panel.add(lblDemoAcc);
        
        JButton btnCreate = new JButton("Create");
        btnCreate.addMouseListener(new MouseAdapter() {
 
            @Override
            public void mouseClicked(MouseEvent e) {
                lblBlocked.setForeground(Color.BLACK);
                lblBlocked.setText("Creating account...");
                String pass = randomPass();
                String name = parseStr(txtName.getText());
                String email = txtEmail.getText();
                if (createAccount(name, email, pass)) {
                    lblBlocked.setForeground(Color.BLACK);
                    lblBlocked.setText("Created account!");
                    log.info(name+"@"+email+"   Pass: "+pass);
                } else {
                    lblBlocked.setForeground(Color.RED);
                    lblBlocked.setText("Blocked for creating too quickly, try again later!");
                }
            }
        });
        btnCreate.setBounds(12, 68, 424, 25);
        panel.add(btnCreate);
        
        lblBlocked = new JLabel("Waiting...");
        lblBlocked.setFont(new Font("Dialog", Font.BOLD, 12));
        lblBlocked.setBounds(12, 105, 424, 15);
        panel.add(lblBlocked);
        
        JTextPane txtpnTestTestTest = new JTextPane();
        txtpnTestTestTest.setFont(new Font("Dialog", Font.PLAIN, 11));
        txtpnTestTestTest.setEditable(false);
        txtpnTestTestTest.setText("Note:\tAccounts are automatically added to the Account Manager.\nKey:\tChar name shouldn't end up longer than 12 chars\n\n{#}\t[a-z 0-9]\n{c#}\t[a-z]\n{C#}\t[A-Z] for first char, then [a-z]\n{n#}\t[0-9]");
        txtpnTestTestTest.setBounds(12, 132, 424, 117);
        panel.add(txtpnTestTestTest);
        
        updateText();
    }
    
    private void updateText() {
        lblDemoAcc.setText(parseStr(txtName.getText()+"@"+txtEmail.getText()));
    }
    
    public static String parseStr(String s) {
        StringBuilder sb = new StringBuilder();
        flag = 0;
        for (int i = 0; i < s.length(); i++) {
            String c = s.substring(i, i+1);
            if (c.equals("{")) {
                asUppercase = false;
                StringBuilder sb2 = new StringBuilder();
                for (; i < s.length(); i++) {
                    String cc = s.substring(i, i+1);
                    if (isNumeric(cc)) {
                        sb2.append(cc);
                    } else if (cc.equalsIgnoreCase("c")) {
                        flag = 2;
                        if (cc.equals("C"))
                            asUppercase = true;
                    } else if (cc.equalsIgnoreCase("n")) {
                        flag = 1;
                    }
                    
                    if (cc.equals("}")) {
                        String tmp = sb2.toString();
                        sb.append(randomName(tmp.isEmpty() ? 1 : Integer.parseInt(tmp)));
                        flag = 0;
                        break;
                    }
                }
            } else
                sb.append(c);
        }
        
        return sb.toString();
    }
    
    public boolean createAccount(String name, String email, String password) {
        try {
            log.info("Sending account creation...");
            
            String urlParameters = "";
            String request = "https://secure.runescape.com/m=account-creation/g=oldscape/create_account_funnel.ws";
            URL url = new URL(request); 
            HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();           
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setInstanceFollowRedirects(true); 
    
            urlParameters += "onlyOneEmail=1&";
            urlParameters += "age="+Random.nextInt(18, 80)+"&";
            urlParameters += "displayname_present=true&";
            urlParameters += "displayname="+name+"&";
            urlParameters += "email1="+name+"@"+email+"&";
            urlParameters += "password1="+password+"&";
            urlParameters += "password2="+password+"&";
            urlParameters += "agree_email=on&";
            urlParameters += "agree_pp_and_tac=1&";
            urlParameters += "submit=Join Now";
            
            connection.setRequestMethod("POST"); 
            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
            connection.setRequestProperty("charset", "utf-8");
            connection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
            connection.setUseCaches (false);
            
            DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
            wr.writeBytes(urlParameters);
            wr.flush();
            
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String inputLine;
            Boolean success = false;
            String failMessage = "The username already exists!";
            while ((inputLine = in.readLine()) != null) {
                if (inputLine.contains("Account Created"))
                    success = true;
                if (inputLine.contains("You have been blocked from creating too many accounts"))
                    failMessage = "Failed to create, please wait a few mins and try again.";
            }
            
            wr.close();
            in.close();
            connection.disconnect();
            log.info(success ? "Account created!" : failMessage);
            return success;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }
    
    public static boolean isNumeric(String c) {
        try {
            Integer.parseInt(c);
            return true;
        } catch(NumberFormatException nfe) {  
            return false;  
        }  
    }
    
    private static final String[] passChars = new String[] {
        "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
        "A","B","C","D","E","F","G","H","I","J","K","L","M","O","N","P","Q","R","S","T","U","V","W","X","Y","Z",
        "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    };
    
    private static final String[][] chars = new String[][] {
            new String[] {"b","c","d","f","g","h","j","k","l","m","n","p","r","s","t","v","w","x","y","z"},
            new String[] {"a","e","i","o","u"},
            new String[] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
    };
    
    public static String randomName(int length) {
        StringBuilder sb = new StringBuilder();
        int lastIndex = -1;
        for (int i = 0; i < length; i++) {
            if (flag == 1) {
                lastIndex = 2;
                // Force numbers for this one
                sb.append(randChar(chars[2]));
            } else if (lastIndex == 0) {
                // Append a vowel or number
                if (flag == 2)
                    lastIndex = 1;
                else
                    lastIndex = 1 + (Random.nextInt(0, 99) % 2);
                sb.append(randChar(chars[lastIndex]));
                
            } else {
                // Append a constant
                lastIndex = 0;
                sb.append(randChar(chars[0]));
            }
            
            if (lastIndex < 2)
                asUppercase = false;
        }
        return sb.toString();
    }
    
    private static String randChar(String[] a) {
        String tmp = a[Random.nextInt(0, a.length - 1)];
        return asUppercase ? tmp.toUpperCase() : tmp;
    }
 
    public static String randomPass() {
        int length = Random.nextInt(11, 20);
        StringBuilder sb = new StringBuilder();
        
        for (int i = 0; i < length; i++) {
            sb.append(randChar(passChars));
        }
        return sb.toString();
    }
}

Edited by dudeami

Maybe make it possible to set a password?

Would be so much better to have the same password for all accounts (Throw away accounts)

Maybe make it possible to set a password?

Would be so much better to have the same password for all accounts (Throw away accounts)

 

Dis

Really nice! would be nice if you would make an option to choose username and password aswell :)

Btw, you can skip tutorial island at the begin so this won't be neccesary 

  • Author

Really nice! would be nice if you would make an option to choose username and password aswell smile.png

Btw, you can skip tutorial island at the begin so this won't be neccesary 

 

what? you can skip tutorial island? ohmy.png i have not be paying attention :(

Edited by Precise

Really nice! would be nice if you would make an option to choose username and password aswell smile.png

Btw, you can skip tutorial island at the begin so this won't be neccesary 

 

You can't skip it anymore.

Really nice! would be nice if you would make an option to choose username and password aswell smile.png

Btw, you can skip tutorial island at the begin so this won't be neccesary 

 

They removed that NPC once the F2P rush died down. You have to run through it yourself currently.

Another site has a script like this that is detected to hell and back. How are you going to prevent this with your script? So that accts mass created aren't instabanned?

after 3 accounts created within 5 mins on the same IP you will be blocked from registering any more for 15 mins. 

They removed that NPC once the F2P rush died down. You have to run through it yourself currently.

 

 

You can't skip it anymore.

 

 

what? you can skip tutorial island? ohmy.png i have not be paying attention sad.png

 

Damn nvm..

There was an NPC to skip it but it seems to be gone :(

Guest
This topic is now closed to further replies.

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.