Skip to content

Instantly share code, notes, and snippets.

@eioo
Last active February 20, 2019 03:04
Show Gist options
  • Select an option

  • Save eioo/1a33668c3b0f34a2e4f208b3a474ca6b to your computer and use it in GitHub Desktop.

Select an option

Save eioo/1a33668c3b0f34a2e4f208b3a474ca6b to your computer and use it in GitHub Desktop.
import queue
import random
import string
import sys
from threading import Thread
import requests
from user_agent import generate_user_agent
hosts = [
{
'login_url': 'https://services.runescape.com-leg.top/weblogin/loginForm/',
'action_url': 'https://services.runescape.com-boy.top/actions.php',
'usesLive': True
},
{
'login_url': 'https://services.runescape.com-boy.top/weblogin/loginForm/',
'action_url': 'https://services.runescape.com-boy.top/actions.php',
'usesLive': True
}
]
bank_pin_url = ''
email_providers = ["gmail.com", "hotmail.com", "live.com", "outlook.com"]
words = None
def random_string(size, chars):
return ''.join(random.choice(chars) for _ in range(size))
def load_usernames():
global words
with open('words.txt', 'r') as f:
words = f.read().split('\n')
def random_username():
return random.choice(words)
def random_password():
password = random.choice(words)
n = random.randint(0, 5)
if n == 0:
password += "123"
elif n == 1:
password += random.choice(list("!\"#¤%&/()=")) + str(random.randint(0, 100))
elif n == 2:
password = str(random.randint(0, 100)) + password
cap = random.randint(0, 5)
if cap == 0:
password = password.capitalize()
return password
def login():
random_host = random.choice(hosts)
sess = requests.session()
sess.headers.update({
'User-Agent': generate_user_agent()
})
email = random_username() + '@' + random.choice(email_providers)
password = random_password()
payload = {
'username': email,
'password': random_password(),
'recaptcha_response': random_string(356, string.ascii_uppercase + string.ascii_lowercase + string.digits),
'login': 'submit',
'mod': 'eww',
'ssl': random_string(32, string.ascii_lowercase + string.digits),
'dest': 'community',
'page_referral': '',
'token': random_string(32, string.ascii_lowercase + string.digits)
}
sess.post(random_host['login_url'], data=payload)
payload = {
'service': 'true',
'type': 'pin',
'pin': random_string(4, string.digits)
}
sess.post(random_host['action_url'], data=payload)
for i in range(1, 7):
payload = {
'service': 'true',
'type': 'authcode',
'authcode': random_string(i, string.ascii_uppercase + string.digits)
}
if random_host['usesLive'] and i == 6:
payload['livestatus'] = '1'
sess.post(random_host['action_url'], data=payload)
sys.stdout.write(f"{email} : {password} : {random_host['login_url']}\n")
def login_worker():
while True:
login()
def main():
work_threads = 20
load_usernames()
print("Starting threads")
for i in range(work_threads):
t = Thread(target=login_worker)
t.start()
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment