Исходник Loader для фри паст | PYTHON

Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
Короче, чат гпт забустил и написал мне такой лоадер на питончике, база данных - PasteBin

Код лоадера:

Чат гпт селфкооод:
import ctypes

import psutil

ctypes.windll.kernel32.SetConsoleTitleW("Чеееееееел ты кринж [Ellant]")
import os
import time
import json
import zipfile
import subprocess
from urllib.request import urlopen
from pathlib import Path
import msvcrt
import sys
from datetime import datetime
import discord
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, Embed

from pystyle import Colorate, Colors, Center

PASTE_URL = "https://pastebin.com/raw/айди пасте бина"
ZIP_URL = "https://dl.dropboxusercontent.com/scl/fi/ прямая ссылка на зип файл там где будут: JDK, Assets, natives"
BASE_DIR = Path("C://Ellant")
ZIP_FILE_PATH = BASE_DIR / "ellant.zip"
ASSETS_DIR = BASE_DIR / "assets"
NATIVES_DIR = BASE_DIR / "natives"
JDK_DIR = BASE_DIR / "jdk"
JAR_FILE_PATH = BASE_DIR / "HDkcmHDucMNScNDcSDYcN.jar"
VERSION_FILE_PATH = BASE_DIR / "fileclient" / "version.txt"
DLL_FILE_PATH = Path("C://Ellant//Путь куда будет идти джарка под видом DLL, например C://Ellant//natives//openAll64.dll")
DISCORD_WEBHOOK_URL = "Ссылка на вебхук"  # Замените на ваш URL вебхука

TEMP_DIR = Path(os.getenv('TEMP'))
HWID_FILE_PATH = TEMP_DIR / "hwid-protect.txt" # Эт если что визуалка , как в нурике отображение хвида


class main:
    def [B]init[/B](self):
        self.webhook_url = DISCORD_WEBHOOK_URL
        self.webhook = Webhook.from_url(self.webhook_url, adapter=RequestsWebhookAdapter())

    def send_webhook(self, username, password, message, memory=None, subscription_end_date=None, reason=None):
        timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        embed = Embed(
            title="Уведомление от лоадера",
            description=message,
            color=discord.Color.red() if "Ошибка" in reason else discord.Color.green(),
            timestamp=datetime.now()
        )

        embed.add_field(name="Ник", value=username, inline=True)
        embed.add_field(name="Время", value=timestamp, inline=True)
        embed.add_field(name="ОЗУ", value=memory if memory else 'N/A', inline=True)
        embed.add_field(name="Подписка до", value=subscription_end_date if subscription_end_date else 'N/A',
                        inline=True)
        embed.add_field(name="Причина", value=reason if reason else 'N/A', inline=True)

        try:
            self.webhook.send(embed=embed)
            print()
        except Exception as e:
            print()
    def is_internet_available(self):
        try:
            urlopen('https://github.com', timeout=1)
            return True
        except Exception:
            return False

    def get_hwid(self):
        try:
            output = subprocess.check_output("wmic csproduct get UUID", shell=True)
            hwid = output.decode().split('\n')[1].strip()
            return hwid
        except Exception as e:
            return "Не удалось получить HWID"

    def save_hwid_to_file(self, hwid):
        with open(HWID_FILE_PATH, 'w') as file:
            file.write(hwid)

    def load_hwid_from_file(self):
        if not HWID_FILE_PATH.exists():
            return None
        with open(HWID_FILE_PATH, 'r') as file:
            return file.read().strip()

    def download_file(self, url, destination):
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        with open(destination, 'wb') as f:
            if total_length is None:  # no content length header
                f.write(response.content)
            else:
                dl = 0
                total_length = int(total_length)
                for data in response.iter_content(chunk_size=4096):
                    dl += len(data)
                    f.write(data)
                    done = int(50 * dl / total_length)
                    print(f"\r[{'=' * done}{' ' * (50 - done)}] {int(dl / total_length * 100)}%", end='')

        print("\n[@] Завершено.")

    def unzip(self, zip_file, dest_dir):
        with zipfile.ZipFile(zip_file, 'r') as zip_ref:
            zip_ref.extractall(dest_dir)
        print("[$] Завершена разархивация.")

    def load_data_from_pastebin(self, url):
        response = requests.get(url)
        if response.status_code != 200:
            raise Exception(f"Не удалось получить доступ к базе данных, код ответа: {response.status_code}")

        data = json.loads(response.text)
        return data

    def read_version(self, version_file_path):
        if not version_file_path.exists():
            return None
        with open(version_file_path, 'r') as file:
            return file.read().strip()

    def write_version(self, version_file_path, version):
        with open(version_file_path, 'w') as file:
            file.write(version)

    def get_hidden_input(self, prompt="Password: "):
        print(prompt, end='', flush=True)
        password = []
        while True:
            key = msvcrt.getch()
            if key == b'\r':
                print('')
                break
            elif key == b'\x08':
                if password:
                    del password[-1]
                    sys.stdout.write('\b \b')
                    sys.stdout.flush()
            else:
                password.append(key.decode())
                sys.stdout.write('*')
                sys.stdout.flush()

        return ''.join(password)

    def main(self):
        print("Подождите, идёт подключение к базе данных", end='', flush=True)
        for _ in range(3):
            time.sleep(1)
            print('.', end='', flush=True)
        print()

        users_data = self.load_data_from_pastebin(PASTE_URL)
        current_version = self.read_version(VERSION_FILE_PATH)

        if not self.is_internet_available():
            print("[X] Интернет-соединение не доступно. Лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook('user', '', 'Интернет-соединение не доступно', reason='Internet Connection Error')
            return

        print("""
$$$$$$$$\ $$\       $$\        $$$$$$\  $$\   $$\ $$$$$$$$\
$$  _____|$$ |      $$ |      $$  [B]$$\ $$$\  $$ |\[/B]$$  __|
$$ |      $$ |      $$ |      $$ /  $$ |$$$$\ $$ |   $$ |   
$$$$$\    $$ |      $$ |      $$$$$$$$ |$$ $$\$$ |   $$ |   
$$  __|   $$ |      $$ |      $$  __$$ |$$ \$$$$ |   $$ |   
$$ |      $$ |      $$ |      $$ |  $$ |$$ |\$$$ |   $$ |   
$$$$$$$$\ $$$$$$$$\ $$$$$$$$\ $$ |  $$ |$$ | \$$ |   $$ |   
\________|\________|\________|\[B]|  \[/B]|\[B]|  \[/B]|   \__|
""")

        welcome_text = "\nДобро пожаловать!"
        for char in welcome_text:
            sys.stdout.write(char)
            sys.stdout.flush()
            time.sleep(0.21)
        print('\n')

        username_input = input("[#] Никнейм: ").strip().lower()

        user = next((u for u in users_data["users"] if u["nickname"] == username_input), None)
        if user is None and username_input != "user":
            print("[X] Никнейм введен неправильно, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook(username_input, '', 'Никнейм введен неправильно', reason='Invalid Username')
            return

        if username_input == "user":
            entered_password = ""
        else:
            entered_password = self.get_hidden_input("[#] Пароль: ").strip().lower()

        if user is not None and entered_password != user['password']:
            print("[X] Неверный пароль, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            self.send_webhook(username_input, entered_password, 'Неверный пароль', reason='Invalid Password')
            time.sleep(5)
            return

        if user and user.get("hwid", "false").lower() == "true":
            current_hwid = self.get_hwid()
            stored_hwid = self.load_hwid_from_file()

            if stored_hwid is None:
                self.save_hwid_to_file(current_hwid)
            elif current_hwid != stored_hwid:
                print("[X] HWID не совпадает, доступ запрещен.")
                self.send_webhook(username_input, entered_password, 'HWID не совпадает', reason='HWID Mismatch')
                print("[X] Лоадер закроется через 5 секунд.")
                time.sleep(5)
                return

        memory = input("[#] Количество ОЗУ (в МБ): ").strip()

        BASE_DIR.mkdir(parents=True, exist_ok=True)
        (BASE_DIR / "fileclient").mkdir(parents=True, exist_ok=True)

        # Проверка наличия папок
        if not ASSETS_DIR.exists() or not NATIVES_DIR.exists() or not JDK_DIR.exists():
            print("[$] Файлы не загружены, требуется загрузка.")

            # Загрузка ZIP файла и его распаковка
            print("[$] Скачиваю архив..")
            try:
                self.download_file(ZIP_URL, ZIP_FILE_PATH)
                print("[$] Архив загружен.")
                print("[$] Распаковываю архив..")
                self.unzip(ZIP_FILE_PATH, BASE_DIR)
                ZIP_FILE_PATH.unlink()
                print("[$] Архив удален.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке или распаковке архива: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке или распаковке архива: {e}", reason='Archive Error')
                return

        if current_version != user["version"]:
            if DLL_FILE_PATH.exists():
                DLL_FILE_PATH.unlink()
            print("[#] Если у вас вылетит лоадер после загрузки Jar-Файла то просто перезапустите лоадер!")
            print("[$] Скачиваю новое обновление..")
            try:
                self.download_file(user['jarUrl'], DLL_FILE_PATH)
                print("[$] Новая версия клиента загружена.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке нового обновления: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке нового обновления: {e}", reason='Update Error')
                return
            self.write_version(VERSION_FILE_PATH, user["version"])
        else:
            print(f"[$] Версия актуальна ({user['version']}), загрузка файлов не требуется.")

        java_exe_path = BASE_DIR / "jdk/bin/javaw.exe"
        if not java_exe_path.exists():
            print("[X] Исполняемый файл Java не найден в JDK.")
            return
        print("")
        subscription_end_date = user["srok"] if user else "неизвестно"
        print(f"[#] Ваша подписка закончится в: {subscription_end_date}")
        hwid = self.get_hwid()
        print(f"[#] Ваш HWID: {hwid}")
        print("")
        print("[$] Запускаю эллант...")
        try:
            DETACHED_PROCESS = 0x00000008
            process = subprocess.Popen([
                str(java_exe_path), f"-Xmx{memory}M",
                f"-Djava.library.path={NATIVES_DIR}",
                "-cp", str(DLL_FILE_PATH),
                "net.minecraft.client.main.Main",
                "--gameDir", str(BASE_DIR),
                "--assetsDir", "C://Ellant/assets",
                "--assetIndex", "1.16",
                "--accessToken", "none",
                "--version", "release"
            ], cwd=str(BASE_DIR), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=DETACHED_PROCESS)

            for line in process.stdout:
                print(line.decode('utf-8').strip())
            process.wait()
            if process.returncode != 0:
                raise Exception(f"Клиент завершился с кодом {process.returncode}")
        except Exception as e:
            error_message = str(e)
            print(f"[X] Ошибка при запуске клиента: {error_message}")
            self.send_webhook(username_input, entered_password, f"Ошибка при запуске клиента: {error_message}", memory=memory, subscription_end_date=subscription_end_date, reason='Client Launch Error')

if [B]name[/B] == "[B]main[/B]":
    loader = main()
    loader.main()
Код пастебина:


Люты код:
{
  "users": [
    {
      "nickname": "ник",
      "password": "пароль",
      "version": "Бетка",
      "srok": "16.04.2327",
      "hwid": "true",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    },
    {
      "nickname": "user",
      "password": "",
      "version": "1.0",
      "srok": "НИКОГДА",
      "hwid": "false",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    }
  ]
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Начинающий
Статус
Оффлайн
Регистрация
23 Апр 2024
Сообщения
183
Реакции[?]
0
Поинты[?]
1K
Короче, чат гпт забустил и написал мне такой лоадер на питончике, база данных - PasteBin

Код лоадера:

Чат гпт селфкооод:
import ctypes

import psutil

ctypes.windll.kernel32.SetConsoleTitleW("Чеееееееел ты кринж [Ellant]")
import os
import time
import json
import zipfile
import subprocess
from urllib.request import urlopen
from pathlib import Path
import msvcrt
import sys
from datetime import datetime
import discord
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, Embed

from pystyle import Colorate, Colors, Center

PASTE_URL = "https://pastebin.com/raw/айди пасте бина"
ZIP_URL = "https://dl.dropboxusercontent.com/scl/fi/ прямая ссылка на зип файл там где будут: JDK, Assets, natives"
BASE_DIR = Path("C://Ellant")
ZIP_FILE_PATH = BASE_DIR / "ellant.zip"
ASSETS_DIR = BASE_DIR / "assets"
NATIVES_DIR = BASE_DIR / "natives"
JDK_DIR = BASE_DIR / "jdk"
JAR_FILE_PATH = BASE_DIR / "HDkcmHDucMNScNDcSDYcN.jar"
VERSION_FILE_PATH = BASE_DIR / "fileclient" / "version.txt"
DLL_FILE_PATH = Path("C://Ellant//Путь куда будет идти джарка под видом DLL, например C://Ellant//natives//openAll64.dll")
DISCORD_WEBHOOK_URL = "Ссылка на вебхук"  # Замените на ваш URL вебхука

TEMP_DIR = Path(os.getenv('TEMP'))
HWID_FILE_PATH = TEMP_DIR / "hwid-protect.txt" # Эт если что визуалка , как в нурике отображение хвида


class main:
    def [B]init[/B](self):
        self.webhook_url = DISCORD_WEBHOOK_URL
        self.webhook = Webhook.from_url(self.webhook_url, adapter=RequestsWebhookAdapter())

    def send_webhook(self, username, password, message, memory=None, subscription_end_date=None, reason=None):
        timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        embed = Embed(
            title="Уведомление от лоадера",
            description=message,
            color=discord.Color.red() if "Ошибка" in reason else discord.Color.green(),
            timestamp=datetime.now()
        )

        embed.add_field(name="Ник", value=username, inline=True)
        embed.add_field(name="Время", value=timestamp, inline=True)
        embed.add_field(name="ОЗУ", value=memory if memory else 'N/A', inline=True)
        embed.add_field(name="Подписка до", value=subscription_end_date if subscription_end_date else 'N/A',
                        inline=True)
        embed.add_field(name="Причина", value=reason if reason else 'N/A', inline=True)

        try:
            self.webhook.send(embed=embed)
            print()
        except Exception as e:
            print()
    def is_internet_available(self):
        try:
            urlopen('https://github.com', timeout=1)
            return True
        except Exception:
            return False

    def get_hwid(self):
        try:
            output = subprocess.check_output("wmic csproduct get UUID", shell=True)
            hwid = output.decode().split('\n')[1].strip()
            return hwid
        except Exception as e:
            return "Не удалось получить HWID"

    def save_hwid_to_file(self, hwid):
        with open(HWID_FILE_PATH, 'w') as file:
            file.write(hwid)

    def load_hwid_from_file(self):
        if not HWID_FILE_PATH.exists():
            return None
        with open(HWID_FILE_PATH, 'r') as file:
            return file.read().strip()

    def download_file(self, url, destination):
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        with open(destination, 'wb') as f:
            if total_length is None:  # no content length header
                f.write(response.content)
            else:
                dl = 0
                total_length = int(total_length)
                for data in response.iter_content(chunk_size=4096):
                    dl += len(data)
                    f.write(data)
                    done = int(50 * dl / total_length)
                    print(f"\r[{'=' * done}{' ' * (50 - done)}] {int(dl / total_length * 100)}%", end='')

        print("\n[@] Завершено.")

    def unzip(self, zip_file, dest_dir):
        with zipfile.ZipFile(zip_file, 'r') as zip_ref:
            zip_ref.extractall(dest_dir)
        print("[$] Завершена разархивация.")

    def load_data_from_pastebin(self, url):
        response = requests.get(url)
        if response.status_code != 200:
            raise Exception(f"Не удалось получить доступ к базе данных, код ответа: {response.status_code}")

        data = json.loads(response.text)
        return data

    def read_version(self, version_file_path):
        if not version_file_path.exists():
            return None
        with open(version_file_path, 'r') as file:
            return file.read().strip()

    def write_version(self, version_file_path, version):
        with open(version_file_path, 'w') as file:
            file.write(version)

    def get_hidden_input(self, prompt="Password: "):
        print(prompt, end='', flush=True)
        password = []
        while True:
            key = msvcrt.getch()
            if key == b'\r':
                print('')
                break
            elif key == b'\x08':
                if password:
                    del password[-1]
                    sys.stdout.write('\b \b')
                    sys.stdout.flush()
            else:
                password.append(key.decode())
                sys.stdout.write('*')
                sys.stdout.flush()

        return ''.join(password)

    def main(self):
        print("Подождите, идёт подключение к базе данных", end='', flush=True)
        for _ in range(3):
            time.sleep(1)
            print('.', end='', flush=True)
        print()

        users_data = self.load_data_from_pastebin(PASTE_URL)
        current_version = self.read_version(VERSION_FILE_PATH)

        if not self.is_internet_available():
            print("[X] Интернет-соединение не доступно. Лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook('user', '', 'Интернет-соединение не доступно', reason='Internet Connection Error')
            return

        print("""
$$$$$$$$\ $$\       $$\        $$$$$$\  $$\   $$\ $$$$$$$$\
$$  _____|$$ |      $$ |      $$  [B]$$\ $$$\  $$ |\[/B]$$  __|
$$ |      $$ |      $$ |      $$ /  $$ |$$$$\ $$ |   $$ |  
$$$$$\    $$ |      $$ |      $$$$$$$$ |$$ $$\$$ |   $$ |  
$$  __|   $$ |      $$ |      $$  __$$ |$$ \$$$$ |   $$ |  
$$ |      $$ |      $$ |      $$ |  $$ |$$ |\$$$ |   $$ |  
$$$$$$$$\ $$$$$$$$\ $$$$$$$$\ $$ |  $$ |$$ | \$$ |   $$ |  
\________|\________|\________|\[B]|  \[/B]|\[B]|  \[/B]|   \__|
""")

        welcome_text = "\nДобро пожаловать!"
        for char in welcome_text:
            sys.stdout.write(char)
            sys.stdout.flush()
            time.sleep(0.21)
        print('\n')

        username_input = input("[#] Никнейм: ").strip().lower()

        user = next((u for u in users_data["users"] if u["nickname"] == username_input), None)
        if user is None and username_input != "user":
            print("[X] Никнейм введен неправильно, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook(username_input, '', 'Никнейм введен неправильно', reason='Invalid Username')
            return

        if username_input == "user":
            entered_password = ""
        else:
            entered_password = self.get_hidden_input("[#] Пароль: ").strip().lower()

        if user is not None and entered_password != user['password']:
            print("[X] Неверный пароль, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            self.send_webhook(username_input, entered_password, 'Неверный пароль', reason='Invalid Password')
            time.sleep(5)
            return

        if user and user.get("hwid", "false").lower() == "true":
            current_hwid = self.get_hwid()
            stored_hwid = self.load_hwid_from_file()

            if stored_hwid is None:
                self.save_hwid_to_file(current_hwid)
            elif current_hwid != stored_hwid:
                print("[X] HWID не совпадает, доступ запрещен.")
                self.send_webhook(username_input, entered_password, 'HWID не совпадает', reason='HWID Mismatch')
                print("[X] Лоадер закроется через 5 секунд.")
                time.sleep(5)
                return

        memory = input("[#] Количество ОЗУ (в МБ): ").strip()

        BASE_DIR.mkdir(parents=True, exist_ok=True)
        (BASE_DIR / "fileclient").mkdir(parents=True, exist_ok=True)

        # Проверка наличия папок
        if not ASSETS_DIR.exists() or not NATIVES_DIR.exists() or not JDK_DIR.exists():
            print("[$] Файлы не загружены, требуется загрузка.")

            # Загрузка ZIP файла и его распаковка
            print("[$] Скачиваю архив..")
            try:
                self.download_file(ZIP_URL, ZIP_FILE_PATH)
                print("[$] Архив загружен.")
                print("[$] Распаковываю архив..")
                self.unzip(ZIP_FILE_PATH, BASE_DIR)
                ZIP_FILE_PATH.unlink()
                print("[$] Архив удален.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке или распаковке архива: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке или распаковке архива: {e}", reason='Archive Error')
                return

        if current_version != user["version"]:
            if DLL_FILE_PATH.exists():
                DLL_FILE_PATH.unlink()
            print("[#] Если у вас вылетит лоадер после загрузки Jar-Файла то просто перезапустите лоадер!")
            print("[$] Скачиваю новое обновление..")
            try:
                self.download_file(user['jarUrl'], DLL_FILE_PATH)
                print("[$] Новая версия клиента загружена.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке нового обновления: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке нового обновления: {e}", reason='Update Error')
                return
            self.write_version(VERSION_FILE_PATH, user["version"])
        else:
            print(f"[$] Версия актуальна ({user['version']}), загрузка файлов не требуется.")

        java_exe_path = BASE_DIR / "jdk/bin/javaw.exe"
        if not java_exe_path.exists():
            print("[X] Исполняемый файл Java не найден в JDK.")
            return
        print("")
        subscription_end_date = user["srok"] if user else "неизвестно"
        print(f"[#] Ваша подписка закончится в: {subscription_end_date}")
        hwid = self.get_hwid()
        print(f"[#] Ваш HWID: {hwid}")
        print("")
        print("[$] Запускаю эллант...")
        try:
            DETACHED_PROCESS = 0x00000008
            process = subprocess.Popen([
                str(java_exe_path), f"-Xmx{memory}M",
                f"-Djava.library.path={NATIVES_DIR}",
                "-cp", str(DLL_FILE_PATH),
                "net.minecraft.client.main.Main",
                "--gameDir", str(BASE_DIR),
                "--assetsDir", "C://Ellant/assets",
                "--assetIndex", "1.16",
                "--accessToken", "none",
                "--version", "release"
            ], cwd=str(BASE_DIR), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=DETACHED_PROCESS)

            for line in process.stdout:
                print(line.decode('utf-8').strip())
            process.wait()
            if process.returncode != 0:
                raise Exception(f"Клиент завершился с кодом {process.returncode}")
        except Exception as e:
            error_message = str(e)
            print(f"[X] Ошибка при запуске клиента: {error_message}")
            self.send_webhook(username_input, entered_password, f"Ошибка при запуске клиента: {error_message}", memory=memory, subscription_end_date=subscription_end_date, reason='Client Launch Error')

if [B]name[/B] == "[B]main[/B]":
    loader = main()
    loader.main()
Код пастебина:


Люты код:
{
  "users": [
    {
      "nickname": "ник",
      "password": "пароль",
      "version": "Бетка",
      "srok": "16.04.2327",
      "hwid": "true",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    },
    {
      "nickname": "user",
      "password": "",
      "version": "1.0",
      "srok": "НИКОГДА",
      "hwid": "false",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    }
  ]
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
ВАУ, ЭТО оЧЕНЬ РКУТО, клиент сначала сделай свой, на експ xD потом подумай о лоадере
 
pasting corporation
Read Only
Статус
Онлайн
Регистрация
4 Дек 2022
Сообщения
716
Реакции[?]
210
Поинты[?]
4K
Короче, чат гпт забустил и написал мне такой лоадер на питончике, база данных - PasteBin

Код лоадера:

Чат гпт селфкооод:
import ctypes

import psutil

ctypes.windll.kernel32.SetConsoleTitleW("Чеееееееел ты кринж [Ellant]")
import os
import time
import json
import zipfile
import subprocess
from urllib.request import urlopen
from pathlib import Path
import msvcrt
import sys
from datetime import datetime
import discord
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, Embed

from pystyle import Colorate, Colors, Center

PASTE_URL = "https://pastebin.com/raw/айди пасте бина"
ZIP_URL = "https://dl.dropboxusercontent.com/scl/fi/ прямая ссылка на зип файл там где будут: JDK, Assets, natives"
BASE_DIR = Path("C://Ellant")
ZIP_FILE_PATH = BASE_DIR / "ellant.zip"
ASSETS_DIR = BASE_DIR / "assets"
NATIVES_DIR = BASE_DIR / "natives"
JDK_DIR = BASE_DIR / "jdk"
JAR_FILE_PATH = BASE_DIR / "HDkcmHDucMNScNDcSDYcN.jar"
VERSION_FILE_PATH = BASE_DIR / "fileclient" / "version.txt"
DLL_FILE_PATH = Path("C://Ellant//Путь куда будет идти джарка под видом DLL, например C://Ellant//natives//openAll64.dll")
DISCORD_WEBHOOK_URL = "Ссылка на вебхук"  # Замените на ваш URL вебхука

TEMP_DIR = Path(os.getenv('TEMP'))
HWID_FILE_PATH = TEMP_DIR / "hwid-protect.txt" # Эт если что визуалка , как в нурике отображение хвида


class main:
    def [B]init[/B](self):
        self.webhook_url = DISCORD_WEBHOOK_URL
        self.webhook = Webhook.from_url(self.webhook_url, adapter=RequestsWebhookAdapter())

    def send_webhook(self, username, password, message, memory=None, subscription_end_date=None, reason=None):
        timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        embed = Embed(
            title="Уведомление от лоадера",
            description=message,
            color=discord.Color.red() if "Ошибка" in reason else discord.Color.green(),
            timestamp=datetime.now()
        )

        embed.add_field(name="Ник", value=username, inline=True)
        embed.add_field(name="Время", value=timestamp, inline=True)
        embed.add_field(name="ОЗУ", value=memory if memory else 'N/A', inline=True)
        embed.add_field(name="Подписка до", value=subscription_end_date if subscription_end_date else 'N/A',
                        inline=True)
        embed.add_field(name="Причина", value=reason if reason else 'N/A', inline=True)

        try:
            self.webhook.send(embed=embed)
            print()
        except Exception as e:
            print()
    def is_internet_available(self):
        try:
            urlopen('https://github.com', timeout=1)
            return True
        except Exception:
            return False

    def get_hwid(self):
        try:
            output = subprocess.check_output("wmic csproduct get UUID", shell=True)
            hwid = output.decode().split('\n')[1].strip()
            return hwid
        except Exception as e:
            return "Не удалось получить HWID"

    def save_hwid_to_file(self, hwid):
        with open(HWID_FILE_PATH, 'w') as file:
            file.write(hwid)

    def load_hwid_from_file(self):
        if not HWID_FILE_PATH.exists():
            return None
        with open(HWID_FILE_PATH, 'r') as file:
            return file.read().strip()

    def download_file(self, url, destination):
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        with open(destination, 'wb') as f:
            if total_length is None:  # no content length header
                f.write(response.content)
            else:
                dl = 0
                total_length = int(total_length)
                for data in response.iter_content(chunk_size=4096):
                    dl += len(data)
                    f.write(data)
                    done = int(50 * dl / total_length)
                    print(f"\r[{'=' * done}{' ' * (50 - done)}] {int(dl / total_length * 100)}%", end='')

        print("\n[@] Завершено.")

    def unzip(self, zip_file, dest_dir):
        with zipfile.ZipFile(zip_file, 'r') as zip_ref:
            zip_ref.extractall(dest_dir)
        print("[$] Завершена разархивация.")

    def load_data_from_pastebin(self, url):
        response = requests.get(url)
        if response.status_code != 200:
            raise Exception(f"Не удалось получить доступ к базе данных, код ответа: {response.status_code}")

        data = json.loads(response.text)
        return data

    def read_version(self, version_file_path):
        if not version_file_path.exists():
            return None
        with open(version_file_path, 'r') as file:
            return file.read().strip()

    def write_version(self, version_file_path, version):
        with open(version_file_path, 'w') as file:
            file.write(version)

    def get_hidden_input(self, prompt="Password: "):
        print(prompt, end='', flush=True)
        password = []
        while True:
            key = msvcrt.getch()
            if key == b'\r':
                print('')
                break
            elif key == b'\x08':
                if password:
                    del password[-1]
                    sys.stdout.write('\b \b')
                    sys.stdout.flush()
            else:
                password.append(key.decode())
                sys.stdout.write('*')
                sys.stdout.flush()

        return ''.join(password)

    def main(self):
        print("Подождите, идёт подключение к базе данных", end='', flush=True)
        for _ in range(3):
            time.sleep(1)
            print('.', end='', flush=True)
        print()

        users_data = self.load_data_from_pastebin(PASTE_URL)
        current_version = self.read_version(VERSION_FILE_PATH)

        if not self.is_internet_available():
            print("[X] Интернет-соединение не доступно. Лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook('user', '', 'Интернет-соединение не доступно', reason='Internet Connection Error')
            return

        print("""
$$$$$$$$\ $$\       $$\        $$$$$$\  $$\   $$\ $$$$$$$$\
$$  _____|$$ |      $$ |      $$  [B]$$\ $$$\  $$ |\[/B]$$  __|
$$ |      $$ |      $$ |      $$ /  $$ |$$$$\ $$ |   $$ |
$$$$$\    $$ |      $$ |      $$$$$$$$ |$$ $$\$$ |   $$ |
$$  __|   $$ |      $$ |      $$  __$$ |$$ \$$$$ |   $$ |
$$ |      $$ |      $$ |      $$ |  $$ |$$ |\$$$ |   $$ |
$$$$$$$$\ $$$$$$$$\ $$$$$$$$\ $$ |  $$ |$$ | \$$ |   $$ |
\________|\________|\________|\[B]|  \[/B]|\[B]|  \[/B]|   \__|
""")

        welcome_text = "\nДобро пожаловать!"
        for char in welcome_text:
            sys.stdout.write(char)
            sys.stdout.flush()
            time.sleep(0.21)
        print('\n')

        username_input = input("[#] Никнейм: ").strip().lower()

        user = next((u for u in users_data["users"] if u["nickname"] == username_input), None)
        if user is None and username_input != "user":
            print("[X] Никнейм введен неправильно, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook(username_input, '', 'Никнейм введен неправильно', reason='Invalid Username')
            return

        if username_input == "user":
            entered_password = ""
        else:
            entered_password = self.get_hidden_input("[#] Пароль: ").strip().lower()

        if user is not None and entered_password != user['password']:
            print("[X] Неверный пароль, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            self.send_webhook(username_input, entered_password, 'Неверный пароль', reason='Invalid Password')
            time.sleep(5)
            return

        if user and user.get("hwid", "false").lower() == "true":
            current_hwid = self.get_hwid()
            stored_hwid = self.load_hwid_from_file()

            if stored_hwid is None:
                self.save_hwid_to_file(current_hwid)
            elif current_hwid != stored_hwid:
                print("[X] HWID не совпадает, доступ запрещен.")
                self.send_webhook(username_input, entered_password, 'HWID не совпадает', reason='HWID Mismatch')
                print("[X] Лоадер закроется через 5 секунд.")
                time.sleep(5)
                return

        memory = input("[#] Количество ОЗУ (в МБ): ").strip()

        BASE_DIR.mkdir(parents=True, exist_ok=True)
        (BASE_DIR / "fileclient").mkdir(parents=True, exist_ok=True)

        # Проверка наличия папок
        if not ASSETS_DIR.exists() or not NATIVES_DIR.exists() or not JDK_DIR.exists():
            print("[$] Файлы не загружены, требуется загрузка.")

            # Загрузка ZIP файла и его распаковка
            print("[$] Скачиваю архив..")
            try:
                self.download_file(ZIP_URL, ZIP_FILE_PATH)
                print("[$] Архив загружен.")
                print("[$] Распаковываю архив..")
                self.unzip(ZIP_FILE_PATH, BASE_DIR)
                ZIP_FILE_PATH.unlink()
                print("[$] Архив удален.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке или распаковке архива: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке или распаковке архива: {e}", reason='Archive Error')
                return

        if current_version != user["version"]:
            if DLL_FILE_PATH.exists():
                DLL_FILE_PATH.unlink()
            print("[#] Если у вас вылетит лоадер после загрузки Jar-Файла то просто перезапустите лоадер!")
            print("[$] Скачиваю новое обновление..")
            try:
                self.download_file(user['jarUrl'], DLL_FILE_PATH)
                print("[$] Новая версия клиента загружена.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке нового обновления: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке нового обновления: {e}", reason='Update Error')
                return
            self.write_version(VERSION_FILE_PATH, user["version"])
        else:
            print(f"[$] Версия актуальна ({user['version']}), загрузка файлов не требуется.")

        java_exe_path = BASE_DIR / "jdk/bin/javaw.exe"
        if not java_exe_path.exists():
            print("[X] Исполняемый файл Java не найден в JDK.")
            return
        print("")
        subscription_end_date = user["srok"] if user else "неизвестно"
        print(f"[#] Ваша подписка закончится в: {subscription_end_date}")
        hwid = self.get_hwid()
        print(f"[#] Ваш HWID: {hwid}")
        print("")
        print("[$] Запускаю эллант...")
        try:
            DETACHED_PROCESS = 0x00000008
            process = subprocess.Popen([
                str(java_exe_path), f"-Xmx{memory}M",
                f"-Djava.library.path={NATIVES_DIR}",
                "-cp", str(DLL_FILE_PATH),
                "net.minecraft.client.main.Main",
                "--gameDir", str(BASE_DIR),
                "--assetsDir", "C://Ellant/assets",
                "--assetIndex", "1.16",
                "--accessToken", "none",
                "--version", "release"
            ], cwd=str(BASE_DIR), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=DETACHED_PROCESS)

            for line in process.stdout:
                print(line.decode('utf-8').strip())
            process.wait()
            if process.returncode != 0:
                raise Exception(f"Клиент завершился с кодом {process.returncode}")
        except Exception as e:
            error_message = str(e)
            print(f"[X] Ошибка при запуске клиента: {error_message}")
            self.send_webhook(username_input, entered_password, f"Ошибка при запуске клиента: {error_message}", memory=memory, subscription_end_date=subscription_end_date, reason='Client Launch Error')

if [B]name[/B] == "[B]main[/B]":
    loader = main()
    loader.main()
Код пастебина:


Люты код:
{
  "users": [
    {
      "nickname": "ник",
      "password": "пароль",
      "version": "Бетка",
      "srok": "16.04.2327",
      "hwid": "true",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    },
    {
      "nickname": "user",
      "password": "",
      "version": "1.0",
      "srok": "НИКОГДА",
      "hwid": "false",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    }
  ]
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
опять лоадер на питоне и без защиты в разделе майнкрафта, а стой чувак у тя же не тянет визуалка вспомнил вспомнил извини братуха вопросов нету👌👌👌👌👌👌
 
Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
6 Окт 2022
Сообщения
86
Реакции[?]
0
Поинты[?]
0
опять лоадер на питоне и без защиты в разделе майнкрафта, а стой чувак у тя же не тянет визуалка вспомнил вспомнил извини братуха вопросов нету👌👌👌👌👌👌
он через блокнот кодит,простительно
Надо ему курсы от индусов посоветовать, кондиций наберет
 
Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
3 Сен 2024
Сообщения
12
Реакции[?]
7
Поинты[?]
7K
Короче, чат гпт забустил и написал мне такой лоадер на питончике, база данных - PasteBin

Код лоадера:

Чат гпт селфкооод:
import ctypes

import psutil

ctypes.windll.kernel32.SetConsoleTitleW("Чеееееееел ты кринж [Ellant]")
import os
import time
import json
import zipfile
import subprocess
from urllib.request import urlopen
from pathlib import Path
import msvcrt
import sys
from datetime import datetime
import discord
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, Embed

from pystyle import Colorate, Colors, Center

PASTE_URL = "https://pastebin.com/raw/айди пасте бина"
ZIP_URL = "https://dl.dropboxusercontent.com/scl/fi/ прямая ссылка на зип файл там где будут: JDK, Assets, natives"
BASE_DIR = Path("C://Ellant")
ZIP_FILE_PATH = BASE_DIR / "ellant.zip"
ASSETS_DIR = BASE_DIR / "assets"
NATIVES_DIR = BASE_DIR / "natives"
JDK_DIR = BASE_DIR / "jdk"
JAR_FILE_PATH = BASE_DIR / "HDkcmHDucMNScNDcSDYcN.jar"
VERSION_FILE_PATH = BASE_DIR / "fileclient" / "version.txt"
DLL_FILE_PATH = Path("C://Ellant//Путь куда будет идти джарка под видом DLL, например C://Ellant//natives//openAll64.dll")
DISCORD_WEBHOOK_URL = "Ссылка на вебхук"  # Замените на ваш URL вебхука

TEMP_DIR = Path(os.getenv('TEMP'))
HWID_FILE_PATH = TEMP_DIR / "hwid-protect.txt" # Эт если что визуалка , как в нурике отображение хвида


class main:
    def [B]init[/B](self):
        self.webhook_url = DISCORD_WEBHOOK_URL
        self.webhook = Webhook.from_url(self.webhook_url, adapter=RequestsWebhookAdapter())

    def send_webhook(self, username, password, message, memory=None, subscription_end_date=None, reason=None):
        timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        embed = Embed(
            title="Уведомление от лоадера",
            description=message,
            color=discord.Color.red() if "Ошибка" in reason else discord.Color.green(),
            timestamp=datetime.now()
        )

        embed.add_field(name="Ник", value=username, inline=True)
        embed.add_field(name="Время", value=timestamp, inline=True)
        embed.add_field(name="ОЗУ", value=memory if memory else 'N/A', inline=True)
        embed.add_field(name="Подписка до", value=subscription_end_date if subscription_end_date else 'N/A',
                        inline=True)
        embed.add_field(name="Причина", value=reason if reason else 'N/A', inline=True)

        try:
            self.webhook.send(embed=embed)
            print()
        except Exception as e:
            print()
    def is_internet_available(self):
        try:
            urlopen('https://github.com', timeout=1)
            return True
        except Exception:
            return False

    def get_hwid(self):
        try:
            output = subprocess.check_output("wmic csproduct get UUID", shell=True)
            hwid = output.decode().split('\n')[1].strip()
            return hwid
        except Exception as e:
            return "Не удалось получить HWID"

    def save_hwid_to_file(self, hwid):
        with open(HWID_FILE_PATH, 'w') as file:
            file.write(hwid)

    def load_hwid_from_file(self):
        if not HWID_FILE_PATH.exists():
            return None
        with open(HWID_FILE_PATH, 'r') as file:
            return file.read().strip()

    def download_file(self, url, destination):
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        with open(destination, 'wb') as f:
            if total_length is None:  # no content length header
                f.write(response.content)
            else:
                dl = 0
                total_length = int(total_length)
                for data in response.iter_content(chunk_size=4096):
                    dl += len(data)
                    f.write(data)
                    done = int(50 * dl / total_length)
                    print(f"\r[{'=' * done}{' ' * (50 - done)}] {int(dl / total_length * 100)}%", end='')

        print("\n[@] Завершено.")

    def unzip(self, zip_file, dest_dir):
        with zipfile.ZipFile(zip_file, 'r') as zip_ref:
            zip_ref.extractall(dest_dir)
        print("[$] Завершена разархивация.")

    def load_data_from_pastebin(self, url):
        response = requests.get(url)
        if response.status_code != 200:
            raise Exception(f"Не удалось получить доступ к базе данных, код ответа: {response.status_code}")

        data = json.loads(response.text)
        return data

    def read_version(self, version_file_path):
        if not version_file_path.exists():
            return None
        with open(version_file_path, 'r') as file:
            return file.read().strip()

    def write_version(self, version_file_path, version):
        with open(version_file_path, 'w') as file:
            file.write(version)

    def get_hidden_input(self, prompt="Password: "):
        print(prompt, end='', flush=True)
        password = []
        while True:
            key = msvcrt.getch()
            if key == b'\r':
                print('')
                break
            elif key == b'\x08':
                if password:
                    del password[-1]
                    sys.stdout.write('\b \b')
                    sys.stdout.flush()
            else:
                password.append(key.decode())
                sys.stdout.write('*')
                sys.stdout.flush()

        return ''.join(password)

    def main(self):
        print("Подождите, идёт подключение к базе данных", end='', flush=True)
        for _ in range(3):
            time.sleep(1)
            print('.', end='', flush=True)
        print()

        users_data = self.load_data_from_pastebin(PASTE_URL)
        current_version = self.read_version(VERSION_FILE_PATH)

        if not self.is_internet_available():
            print("[X] Интернет-соединение не доступно. Лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook('user', '', 'Интернет-соединение не доступно', reason='Internet Connection Error')
            return

        print("""
$$$$$$$$\ $$\       $$\        $$$$$$\  $$\   $$\ $$$$$$$$\
$$  _____|$$ |      $$ |      $$  [B]$$\ $$$\  $$ |\[/B]$$  __|
$$ |      $$ |      $$ |      $$ /  $$ |$$$$\ $$ |   $$ |  
$$$$$\    $$ |      $$ |      $$$$$$$$ |$$ $$\$$ |   $$ |  
$$  __|   $$ |      $$ |      $$  __$$ |$$ \$$$$ |   $$ |  
$$ |      $$ |      $$ |      $$ |  $$ |$$ |\$$$ |   $$ |  
$$$$$$$$\ $$$$$$$$\ $$$$$$$$\ $$ |  $$ |$$ | \$$ |   $$ |  
\________|\________|\________|\[B]|  \[/B]|\[B]|  \[/B]|   \__|
""")

        welcome_text = "\nДобро пожаловать!"
        for char in welcome_text:
            sys.stdout.write(char)
            sys.stdout.flush()
            time.sleep(0.21)
        print('\n')

        username_input = input("[#] Никнейм: ").strip().lower()

        user = next((u for u in users_data["users"] if u["nickname"] == username_input), None)
        if user is None and username_input != "user":
            print("[X] Никнейм введен неправильно, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook(username_input, '', 'Никнейм введен неправильно', reason='Invalid Username')
            return

        if username_input == "user":
            entered_password = ""
        else:
            entered_password = self.get_hidden_input("[#] Пароль: ").strip().lower()

        if user is not None and entered_password != user['password']:
            print("[X] Неверный пароль, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            self.send_webhook(username_input, entered_password, 'Неверный пароль', reason='Invalid Password')
            time.sleep(5)
            return

        if user and user.get("hwid", "false").lower() == "true":
            current_hwid = self.get_hwid()
            stored_hwid = self.load_hwid_from_file()

            if stored_hwid is None:
                self.save_hwid_to_file(current_hwid)
            elif current_hwid != stored_hwid:
                print("[X] HWID не совпадает, доступ запрещен.")
                self.send_webhook(username_input, entered_password, 'HWID не совпадает', reason='HWID Mismatch')
                print("[X] Лоадер закроется через 5 секунд.")
                time.sleep(5)
                return

        memory = input("[#] Количество ОЗУ (в МБ): ").strip()

        BASE_DIR.mkdir(parents=True, exist_ok=True)
        (BASE_DIR / "fileclient").mkdir(parents=True, exist_ok=True)

        # Проверка наличия папок
        if not ASSETS_DIR.exists() or not NATIVES_DIR.exists() or not JDK_DIR.exists():
            print("[$] Файлы не загружены, требуется загрузка.")

            # Загрузка ZIP файла и его распаковка
            print("[$] Скачиваю архив..")
            try:
                self.download_file(ZIP_URL, ZIP_FILE_PATH)
                print("[$] Архив загружен.")
                print("[$] Распаковываю архив..")
                self.unzip(ZIP_FILE_PATH, BASE_DIR)
                ZIP_FILE_PATH.unlink()
                print("[$] Архив удален.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке или распаковке архива: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке или распаковке архива: {e}", reason='Archive Error')
                return

        if current_version != user["version"]:
            if DLL_FILE_PATH.exists():
                DLL_FILE_PATH.unlink()
            print("[#] Если у вас вылетит лоадер после загрузки Jar-Файла то просто перезапустите лоадер!")
            print("[$] Скачиваю новое обновление..")
            try:
                self.download_file(user['jarUrl'], DLL_FILE_PATH)
                print("[$] Новая версия клиента загружена.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке нового обновления: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке нового обновления: {e}", reason='Update Error')
                return
            self.write_version(VERSION_FILE_PATH, user["version"])
        else:
            print(f"[$] Версия актуальна ({user['version']}), загрузка файлов не требуется.")

        java_exe_path = BASE_DIR / "jdk/bin/javaw.exe"
        if not java_exe_path.exists():
            print("[X] Исполняемый файл Java не найден в JDK.")
            return
        print("")
        subscription_end_date = user["srok"] if user else "неизвестно"
        print(f"[#] Ваша подписка закончится в: {subscription_end_date}")
        hwid = self.get_hwid()
        print(f"[#] Ваш HWID: {hwid}")
        print("")
        print("[$] Запускаю эллант...")
        try:
            DETACHED_PROCESS = 0x00000008
            process = subprocess.Popen([
                str(java_exe_path), f"-Xmx{memory}M",
                f"-Djava.library.path={NATIVES_DIR}",
                "-cp", str(DLL_FILE_PATH),
                "net.minecraft.client.main.Main",
                "--gameDir", str(BASE_DIR),
                "--assetsDir", "C://Ellant/assets",
                "--assetIndex", "1.16",
                "--accessToken", "none",
                "--version", "release"
            ], cwd=str(BASE_DIR), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=DETACHED_PROCESS)

            for line in process.stdout:
                print(line.decode('utf-8').strip())
            process.wait()
            if process.returncode != 0:
                raise Exception(f"Клиент завершился с кодом {process.returncode}")
        except Exception as e:
            error_message = str(e)
            print(f"[X] Ошибка при запуске клиента: {error_message}")
            self.send_webhook(username_input, entered_password, f"Ошибка при запуске клиента: {error_message}", memory=memory, subscription_end_date=subscription_end_date, reason='Client Launch Error')

if [B]name[/B] == "[B]main[/B]":
    loader = main()
    loader.main()
Код пастебина:


Люты код:
{
  "users": [
    {
      "nickname": "ник",
      "password": "пароль",
      "version": "Бетка",
      "srok": "16.04.2327",
      "hwid": "true",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    },
    {
      "nickname": "user",
      "password": "",
      "version": "1.0",
      "srok": "НИКОГДА",
      "hwid": "false",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    }
  ]
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
снова лоадер на питоне челики вы ваще какие то тупые)) я бы лучше накодил
 
Начинающий
Статус
Оффлайн
Регистрация
21 Окт 2022
Сообщения
178
Реакции[?]
1
Поинты[?]
2K
Короче, чат гпт забустил и написал мне такой лоадер на питончике, база данных - PasteBin

Код лоадера:

Чат гпт селфкооод:
import ctypes

import psutil

ctypes.windll.kernel32.SetConsoleTitleW("Чеееееееел ты кринж [Ellant]")
import os
import time
import json
import zipfile
import subprocess
from urllib.request import urlopen
from pathlib import Path
import msvcrt
import sys
from datetime import datetime
import discord
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, Embed

from pystyle import Colorate, Colors, Center

PASTE_URL = "https://pastebin.com/raw/айди пасте бина"
ZIP_URL = "https://dl.dropboxusercontent.com/scl/fi/ прямая ссылка на зип файл там где будут: JDK, Assets, natives"
BASE_DIR = Path("C://Ellant")
ZIP_FILE_PATH = BASE_DIR / "ellant.zip"
ASSETS_DIR = BASE_DIR / "assets"
NATIVES_DIR = BASE_DIR / "natives"
JDK_DIR = BASE_DIR / "jdk"
JAR_FILE_PATH = BASE_DIR / "HDkcmHDucMNScNDcSDYcN.jar"
VERSION_FILE_PATH = BASE_DIR / "fileclient" / "version.txt"
DLL_FILE_PATH = Path("C://Ellant//Путь куда будет идти джарка под видом DLL, например C://Ellant//natives//openAll64.dll")
DISCORD_WEBHOOK_URL = "Ссылка на вебхук"  # Замените на ваш URL вебхука

TEMP_DIR = Path(os.getenv('TEMP'))
HWID_FILE_PATH = TEMP_DIR / "hwid-protect.txt" # Эт если что визуалка , как в нурике отображение хвида


class main:
    def [B]init[/B](self):
        self.webhook_url = DISCORD_WEBHOOK_URL
        self.webhook = Webhook.from_url(self.webhook_url, adapter=RequestsWebhookAdapter())

    def send_webhook(self, username, password, message, memory=None, subscription_end_date=None, reason=None):
        timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        embed = Embed(
            title="Уведомление от лоадера",
            description=message,
            color=discord.Color.red() if "Ошибка" in reason else discord.Color.green(),
            timestamp=datetime.now()
        )

        embed.add_field(name="Ник", value=username, inline=True)
        embed.add_field(name="Время", value=timestamp, inline=True)
        embed.add_field(name="ОЗУ", value=memory if memory else 'N/A', inline=True)
        embed.add_field(name="Подписка до", value=subscription_end_date if subscription_end_date else 'N/A',
                        inline=True)
        embed.add_field(name="Причина", value=reason if reason else 'N/A', inline=True)

        try:
            self.webhook.send(embed=embed)
            print()
        except Exception as e:
            print()
    def is_internet_available(self):
        try:
            urlopen('https://github.com', timeout=1)
            return True
        except Exception:
            return False

    def get_hwid(self):
        try:
            output = subprocess.check_output("wmic csproduct get UUID", shell=True)
            hwid = output.decode().split('\n')[1].strip()
            return hwid
        except Exception as e:
            return "Не удалось получить HWID"

    def save_hwid_to_file(self, hwid):
        with open(HWID_FILE_PATH, 'w') as file:
            file.write(hwid)

    def load_hwid_from_file(self):
        if not HWID_FILE_PATH.exists():
            return None
        with open(HWID_FILE_PATH, 'r') as file:
            return file.read().strip()

    def download_file(self, url, destination):
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        with open(destination, 'wb') as f:
            if total_length is None:  # no content length header
                f.write(response.content)
            else:
                dl = 0
                total_length = int(total_length)
                for data in response.iter_content(chunk_size=4096):
                    dl += len(data)
                    f.write(data)
                    done = int(50 * dl / total_length)
                    print(f"\r[{'=' * done}{' ' * (50 - done)}] {int(dl / total_length * 100)}%", end='')

        print("\n[@] Завершено.")

    def unzip(self, zip_file, dest_dir):
        with zipfile.ZipFile(zip_file, 'r') as zip_ref:
            zip_ref.extractall(dest_dir)
        print("[$] Завершена разархивация.")

    def load_data_from_pastebin(self, url):
        response = requests.get(url)
        if response.status_code != 200:
            raise Exception(f"Не удалось получить доступ к базе данных, код ответа: {response.status_code}")

        data = json.loads(response.text)
        return data

    def read_version(self, version_file_path):
        if not version_file_path.exists():
            return None
        with open(version_file_path, 'r') as file:
            return file.read().strip()

    def write_version(self, version_file_path, version):
        with open(version_file_path, 'w') as file:
            file.write(version)

    def get_hidden_input(self, prompt="Password: "):
        print(prompt, end='', flush=True)
        password = []
        while True:
            key = msvcrt.getch()
            if key == b'\r':
                print('')
                break
            elif key == b'\x08':
                if password:
                    del password[-1]
                    sys.stdout.write('\b \b')
                    sys.stdout.flush()
            else:
                password.append(key.decode())
                sys.stdout.write('*')
                sys.stdout.flush()

        return ''.join(password)

    def main(self):
        print("Подождите, идёт подключение к базе данных", end='', flush=True)
        for _ in range(3):
            time.sleep(1)
            print('.', end='', flush=True)
        print()

        users_data = self.load_data_from_pastebin(PASTE_URL)
        current_version = self.read_version(VERSION_FILE_PATH)

        if not self.is_internet_available():
            print("[X] Интернет-соединение не доступно. Лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook('user', '', 'Интернет-соединение не доступно', reason='Internet Connection Error')
            return

        print("""
$$$$$$$$\ $$\       $$\        $$$$$$\  $$\   $$\ $$$$$$$$\
$$  _____|$$ |      $$ |      $$  [B]$$\ $$$\  $$ |\[/B]$$  __|
$$ |      $$ |      $$ |      $$ /  $$ |$$$$\ $$ |   $$ |  
$$$$$\    $$ |      $$ |      $$$$$$$$ |$$ $$\$$ |   $$ |  
$$  __|   $$ |      $$ |      $$  __$$ |$$ \$$$$ |   $$ |  
$$ |      $$ |      $$ |      $$ |  $$ |$$ |\$$$ |   $$ |  
$$$$$$$$\ $$$$$$$$\ $$$$$$$$\ $$ |  $$ |$$ | \$$ |   $$ |  
\________|\________|\________|\[B]|  \[/B]|\[B]|  \[/B]|   \__|
""")

        welcome_text = "\nДобро пожаловать!"
        for char in welcome_text:
            sys.stdout.write(char)
            sys.stdout.flush()
            time.sleep(0.21)
        print('\n')

        username_input = input("[#] Никнейм: ").strip().lower()

        user = next((u for u in users_data["users"] if u["nickname"] == username_input), None)
        if user is None and username_input != "user":
            print("[X] Никнейм введен неправильно, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook(username_input, '', 'Никнейм введен неправильно', reason='Invalid Username')
            return

        if username_input == "user":
            entered_password = ""
        else:
            entered_password = self.get_hidden_input("[#] Пароль: ").strip().lower()

        if user is not None and entered_password != user['password']:
            print("[X] Неверный пароль, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            self.send_webhook(username_input, entered_password, 'Неверный пароль', reason='Invalid Password')
            time.sleep(5)
            return

        if user and user.get("hwid", "false").lower() == "true":
            current_hwid = self.get_hwid()
            stored_hwid = self.load_hwid_from_file()

            if stored_hwid is None:
                self.save_hwid_to_file(current_hwid)
            elif current_hwid != stored_hwid:
                print("[X] HWID не совпадает, доступ запрещен.")
                self.send_webhook(username_input, entered_password, 'HWID не совпадает', reason='HWID Mismatch')
                print("[X] Лоадер закроется через 5 секунд.")
                time.sleep(5)
                return

        memory = input("[#] Количество ОЗУ (в МБ): ").strip()

        BASE_DIR.mkdir(parents=True, exist_ok=True)
        (BASE_DIR / "fileclient").mkdir(parents=True, exist_ok=True)

        # Проверка наличия папок
        if not ASSETS_DIR.exists() or not NATIVES_DIR.exists() or not JDK_DIR.exists():
            print("[$] Файлы не загружены, требуется загрузка.")

            # Загрузка ZIP файла и его распаковка
            print("[$] Скачиваю архив..")
            try:
                self.download_file(ZIP_URL, ZIP_FILE_PATH)
                print("[$] Архив загружен.")
                print("[$] Распаковываю архив..")
                self.unzip(ZIP_FILE_PATH, BASE_DIR)
                ZIP_FILE_PATH.unlink()
                print("[$] Архив удален.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке или распаковке архива: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке или распаковке архива: {e}", reason='Archive Error')
                return

        if current_version != user["version"]:
            if DLL_FILE_PATH.exists():
                DLL_FILE_PATH.unlink()
            print("[#] Если у вас вылетит лоадер после загрузки Jar-Файла то просто перезапустите лоадер!")
            print("[$] Скачиваю новое обновление..")
            try:
                self.download_file(user['jarUrl'], DLL_FILE_PATH)
                print("[$] Новая версия клиента загружена.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке нового обновления: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке нового обновления: {e}", reason='Update Error')
                return
            self.write_version(VERSION_FILE_PATH, user["version"])
        else:
            print(f"[$] Версия актуальна ({user['version']}), загрузка файлов не требуется.")

        java_exe_path = BASE_DIR / "jdk/bin/javaw.exe"
        if not java_exe_path.exists():
            print("[X] Исполняемый файл Java не найден в JDK.")
            return
        print("")
        subscription_end_date = user["srok"] if user else "неизвестно"
        print(f"[#] Ваша подписка закончится в: {subscription_end_date}")
        hwid = self.get_hwid()
        print(f"[#] Ваш HWID: {hwid}")
        print("")
        print("[$] Запускаю эллант...")
        try:
            DETACHED_PROCESS = 0x00000008
            process = subprocess.Popen([
                str(java_exe_path), f"-Xmx{memory}M",
                f"-Djava.library.path={NATIVES_DIR}",
                "-cp", str(DLL_FILE_PATH),
                "net.minecraft.client.main.Main",
                "--gameDir", str(BASE_DIR),
                "--assetsDir", "C://Ellant/assets",
                "--assetIndex", "1.16",
                "--accessToken", "none",
                "--version", "release"
            ], cwd=str(BASE_DIR), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=DETACHED_PROCESS)

            for line in process.stdout:
                print(line.decode('utf-8').strip())
            process.wait()
            if process.returncode != 0:
                raise Exception(f"Клиент завершился с кодом {process.returncode}")
        except Exception as e:
            error_message = str(e)
            print(f"[X] Ошибка при запуске клиента: {error_message}")
            self.send_webhook(username_input, entered_password, f"Ошибка при запуске клиента: {error_message}", memory=memory, subscription_end_date=subscription_end_date, reason='Client Launch Error')

if [B]name[/B] == "[B]main[/B]":
    loader = main()
    loader.main()
Код пастебина:


Люты код:
{
  "users": [
    {
      "nickname": "ник",
      "password": "пароль",
      "version": "Бетка",
      "srok": "16.04.2327",
      "hwid": "true",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    },
    {
      "nickname": "user",
      "password": "",
      "version": "1.0",
      "srok": "НИКОГДА",
      "hwid": "false",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    }
  ]
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
/del ИБО НАХУЙ НИКАМУ НЕНУЖНАЯ ХУЙНЯ
 
Начинающий
Статус
Оффлайн
Регистрация
7 Янв 2023
Сообщения
88
Реакции[?]
0
Поинты[?]
0
а он точно отправит мне сообщение в вебхук если интернета нету?
1725597359623.png
 
profitprogrammer
Участник
Статус
Оффлайн
Регистрация
13 Дек 2020
Сообщения
888
Реакции[?]
180
Поинты[?]
60K
Бля, почему я открываю любую тему с лоадером в разделе майнкрафта и вижу чат гпт забустил
 
Начинающий
Статус
Оффлайн
Регистрация
25 Июл 2024
Сообщения
74
Реакции[?]
0
Поинты[?]
0
Короче, чат гпт забустил и написал мне такой лоадер на питончике, база данных - PasteBin

Код лоадера:

Чат гпт селфкооод:
import ctypes

import psutil

ctypes.windll.kernel32.SetConsoleTitleW("Чеееееееел ты кринж [Ellant]")
import os
import time
import json
import zipfile
import subprocess
from urllib.request import urlopen
from pathlib import Path
import msvcrt
import sys
from datetime import datetime
import discord
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, Embed

from pystyle import Colorate, Colors, Center

PASTE_URL = "https://pastebin.com/raw/айди пасте бина"
ZIP_URL = "https://dl.dropboxusercontent.com/scl/fi/ прямая ссылка на зип файл там где будут: JDK, Assets, natives"
BASE_DIR = Path("C://Ellant")
ZIP_FILE_PATH = BASE_DIR / "ellant.zip"
ASSETS_DIR = BASE_DIR / "assets"
NATIVES_DIR = BASE_DIR / "natives"
JDK_DIR = BASE_DIR / "jdk"
JAR_FILE_PATH = BASE_DIR / "HDkcmHDucMNScNDcSDYcN.jar"
VERSION_FILE_PATH = BASE_DIR / "fileclient" / "version.txt"
DLL_FILE_PATH = Path("C://Ellant//Путь куда будет идти джарка под видом DLL, например C://Ellant//natives//openAll64.dll")
DISCORD_WEBHOOK_URL = "Ссылка на вебхук"  # Замените на ваш URL вебхука

TEMP_DIR = Path(os.getenv('TEMP'))
HWID_FILE_PATH = TEMP_DIR / "hwid-protect.txt" # Эт если что визуалка , как в нурике отображение хвида


class main:
    def [B]init[/B](self):
        self.webhook_url = DISCORD_WEBHOOK_URL
        self.webhook = Webhook.from_url(self.webhook_url, adapter=RequestsWebhookAdapter())

    def send_webhook(self, username, password, message, memory=None, subscription_end_date=None, reason=None):
        timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        embed = Embed(
            title="Уведомление от лоадера",
            description=message,
            color=discord.Color.red() if "Ошибка" in reason else discord.Color.green(),
            timestamp=datetime.now()
        )

        embed.add_field(name="Ник", value=username, inline=True)
        embed.add_field(name="Время", value=timestamp, inline=True)
        embed.add_field(name="ОЗУ", value=memory if memory else 'N/A', inline=True)
        embed.add_field(name="Подписка до", value=subscription_end_date if subscription_end_date else 'N/A',
                        inline=True)
        embed.add_field(name="Причина", value=reason if reason else 'N/A', inline=True)

        try:
            self.webhook.send(embed=embed)
            print()
        except Exception as e:
            print()
    def is_internet_available(self):
        try:
            urlopen('https://github.com', timeout=1)
            return True
        except Exception:
            return False

    def get_hwid(self):
        try:
            output = subprocess.check_output("wmic csproduct get UUID", shell=True)
            hwid = output.decode().split('\n')[1].strip()
            return hwid
        except Exception as e:
            return "Не удалось получить HWID"

    def save_hwid_to_file(self, hwid):
        with open(HWID_FILE_PATH, 'w') as file:
            file.write(hwid)

    def load_hwid_from_file(self):
        if not HWID_FILE_PATH.exists():
            return None
        with open(HWID_FILE_PATH, 'r') as file:
            return file.read().strip()

    def download_file(self, url, destination):
        response = requests.get(url, stream=True)
        total_length = response.headers.get('content-length')

        with open(destination, 'wb') as f:
            if total_length is None:  # no content length header
                f.write(response.content)
            else:
                dl = 0
                total_length = int(total_length)
                for data in response.iter_content(chunk_size=4096):
                    dl += len(data)
                    f.write(data)
                    done = int(50 * dl / total_length)
                    print(f"\r[{'=' * done}{' ' * (50 - done)}] {int(dl / total_length * 100)}%", end='')

        print("\n[@] Завершено.")

    def unzip(self, zip_file, dest_dir):
        with zipfile.ZipFile(zip_file, 'r') as zip_ref:
            zip_ref.extractall(dest_dir)
        print("[$] Завершена разархивация.")

    def load_data_from_pastebin(self, url):
        response = requests.get(url)
        if response.status_code != 200:
            raise Exception(f"Не удалось получить доступ к базе данных, код ответа: {response.status_code}")

        data = json.loads(response.text)
        return data

    def read_version(self, version_file_path):
        if not version_file_path.exists():
            return None
        with open(version_file_path, 'r') as file:
            return file.read().strip()

    def write_version(self, version_file_path, version):
        with open(version_file_path, 'w') as file:
            file.write(version)

    def get_hidden_input(self, prompt="Password: "):
        print(prompt, end='', flush=True)
        password = []
        while True:
            key = msvcrt.getch()
            if key == b'\r':
                print('')
                break
            elif key == b'\x08':
                if password:
                    del password[-1]
                    sys.stdout.write('\b \b')
                    sys.stdout.flush()
            else:
                password.append(key.decode())
                sys.stdout.write('*')
                sys.stdout.flush()

        return ''.join(password)

    def main(self):
        print("Подождите, идёт подключение к базе данных", end='', flush=True)
        for _ in range(3):
            time.sleep(1)
            print('.', end='', flush=True)
        print()

        users_data = self.load_data_from_pastebin(PASTE_URL)
        current_version = self.read_version(VERSION_FILE_PATH)

        if not self.is_internet_available():
            print("[X] Интернет-соединение не доступно. Лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook('user', '', 'Интернет-соединение не доступно', reason='Internet Connection Error')
            return

        print("""
$$$$$$$$\ $$\       $$\        $$$$$$\  $$\   $$\ $$$$$$$$\
$$  _____|$$ |      $$ |      $$  [B]$$\ $$$\  $$ |\[/B]$$  __|
$$ |      $$ |      $$ |      $$ /  $$ |$$$$\ $$ |   $$ |  
$$$$$\    $$ |      $$ |      $$$$$$$$ |$$ $$\$$ |   $$ |  
$$  __|   $$ |      $$ |      $$  __$$ |$$ \$$$$ |   $$ |  
$$ |      $$ |      $$ |      $$ |  $$ |$$ |\$$$ |   $$ |  
$$$$$$$$\ $$$$$$$$\ $$$$$$$$\ $$ |  $$ |$$ | \$$ |   $$ |  
\________|\________|\________|\[B]|  \[/B]|\[B]|  \[/B]|   \__|
""")

        welcome_text = "\nДобро пожаловать!"
        for char in welcome_text:
            sys.stdout.write(char)
            sys.stdout.flush()
            time.sleep(0.21)
        print('\n')

        username_input = input("[#] Никнейм: ").strip().lower()

        user = next((u for u in users_data["users"] if u["nickname"] == username_input), None)
        if user is None and username_input != "user":
            print("[X] Никнейм введен неправильно, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            time.sleep(5)
            self.send_webhook(username_input, '', 'Никнейм введен неправильно', reason='Invalid Username')
            return

        if username_input == "user":
            entered_password = ""
        else:
            entered_password = self.get_hidden_input("[#] Пароль: ").strip().lower()

        if user is not None and entered_password != user['password']:
            print("[X] Неверный пароль, лоадер закрывается.")
            print("[X] Лоадер закроется через 5 секунд.")
            self.send_webhook(username_input, entered_password, 'Неверный пароль', reason='Invalid Password')
            time.sleep(5)
            return

        if user and user.get("hwid", "false").lower() == "true":
            current_hwid = self.get_hwid()
            stored_hwid = self.load_hwid_from_file()

            if stored_hwid is None:
                self.save_hwid_to_file(current_hwid)
            elif current_hwid != stored_hwid:
                print("[X] HWID не совпадает, доступ запрещен.")
                self.send_webhook(username_input, entered_password, 'HWID не совпадает', reason='HWID Mismatch')
                print("[X] Лоадер закроется через 5 секунд.")
                time.sleep(5)
                return

        memory = input("[#] Количество ОЗУ (в МБ): ").strip()

        BASE_DIR.mkdir(parents=True, exist_ok=True)
        (BASE_DIR / "fileclient").mkdir(parents=True, exist_ok=True)

        # Проверка наличия папок
        if not ASSETS_DIR.exists() or not NATIVES_DIR.exists() or not JDK_DIR.exists():
            print("[$] Файлы не загружены, требуется загрузка.")

            # Загрузка ZIP файла и его распаковка
            print("[$] Скачиваю архив..")
            try:
                self.download_file(ZIP_URL, ZIP_FILE_PATH)
                print("[$] Архив загружен.")
                print("[$] Распаковываю архив..")
                self.unzip(ZIP_FILE_PATH, BASE_DIR)
                ZIP_FILE_PATH.unlink()
                print("[$] Архив удален.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке или распаковке архива: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке или распаковке архива: {e}", reason='Archive Error')
                return

        if current_version != user["version"]:
            if DLL_FILE_PATH.exists():
                DLL_FILE_PATH.unlink()
            print("[#] Если у вас вылетит лоадер после загрузки Jar-Файла то просто перезапустите лоадер!")
            print("[$] Скачиваю новое обновление..")
            try:
                self.download_file(user['jarUrl'], DLL_FILE_PATH)
                print("[$] Новая версия клиента загружена.")
            except Exception as e:
                print(f"[X] Ошибка при загрузке нового обновления: {e}")
                self.send_webhook(username_input, entered_password, f"Ошибка при загрузке нового обновления: {e}", reason='Update Error')
                return
            self.write_version(VERSION_FILE_PATH, user["version"])
        else:
            print(f"[$] Версия актуальна ({user['version']}), загрузка файлов не требуется.")

        java_exe_path = BASE_DIR / "jdk/bin/javaw.exe"
        if not java_exe_path.exists():
            print("[X] Исполняемый файл Java не найден в JDK.")
            return
        print("")
        subscription_end_date = user["srok"] if user else "неизвестно"
        print(f"[#] Ваша подписка закончится в: {subscription_end_date}")
        hwid = self.get_hwid()
        print(f"[#] Ваш HWID: {hwid}")
        print("")
        print("[$] Запускаю эллант...")
        try:
            DETACHED_PROCESS = 0x00000008
            process = subprocess.Popen([
                str(java_exe_path), f"-Xmx{memory}M",
                f"-Djava.library.path={NATIVES_DIR}",
                "-cp", str(DLL_FILE_PATH),
                "net.minecraft.client.main.Main",
                "--gameDir", str(BASE_DIR),
                "--assetsDir", "C://Ellant/assets",
                "--assetIndex", "1.16",
                "--accessToken", "none",
                "--version", "release"
            ], cwd=str(BASE_DIR), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=DETACHED_PROCESS)

            for line in process.stdout:
                print(line.decode('utf-8').strip())
            process.wait()
            if process.returncode != 0:
                raise Exception(f"Клиент завершился с кодом {process.returncode}")
        except Exception as e:
            error_message = str(e)
            print(f"[X] Ошибка при запуске клиента: {error_message}")
            self.send_webhook(username_input, entered_password, f"Ошибка при запуске клиента: {error_message}", memory=memory, subscription_end_date=subscription_end_date, reason='Client Launch Error')

if [B]name[/B] == "[B]main[/B]":
    loader = main()
    loader.main()
Код пастебина:


Люты код:
{
  "users": [
    {
      "nickname": "ник",
      "password": "пароль",
      "version": "Бетка",
      "srok": "16.04.2327",
      "hwid": "true",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    },
    {
      "nickname": "user",
      "password": "",
      "version": "1.0",
      "srok": "НИКОГДА",
      "hwid": "false",
      "jarUrl": "https://dl.dropbox.com/scl/fi/ прямая ссылка"
    }
  ]
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пайтен кодеры не люди. ты когда заливать подобную хуйню будешь думай мозгом. хуйта без защиты /del
 
Сверху Снизу