-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
начал делать лоадер для катлавана по гайда
м из ютуба в итоге не выводится текст только выводится через CMD в формате файла main.py
Код:
# Catlavan Client Loader by datr1235
# Version: 1.1
import ctypes
import functools
import hashlib
import inspect
import json
import os
import subprocess
import sys
import time
import zipfile
logo = [
"██████╗░███████╗░██████╗██╗░░░██╗███╗░░██╗░█████╗░ ██╗░░░░░░█████╗░░█████╗░██████╗░███████╗██████╗░",
"██╔══██╗██╔════╝██╔════╝╚██╗░██╔╝████╗░██║██╔══██╗ ██║░░░░░██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗",
"██║░░██║█████╗░░╚█████╗░░╚████╔╝░██╔██╗██║██║░░╚═╝ ██║░░░░░██║░░██║███████║██║░░██║█████╗░░██████╔╝",
"██║░░██║██╔══╝░░░╚═══██╗░░╚██╔╝░░██║╚████║██║░░██╗ ██║░░░░░██║░░██║██╔══██║██║░░██║██╔══╝░░██╔══██╗",
"██████╔╝███████╗██████╔╝░░░██║░░░██║░╚███║╚█████╔╝ ███████╗╚█████╔╝██║░░██║██████╔╝███████╗██║░░██║",
"╚═════╝░╚══════╝╚═════╝░░░░╚═╝░░░╚═╝░░╚══╝░╚════╝░ ╚══════╝░╚════╝░╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝"
]
username = "datr1235"
till = "21.10.2038"
build = "Stable 1.16.5"
last_update_date = "21.10.2038"
loader_ver = "1.1"
IGNORED_MODULES = []
class MODULEENTRY32(ctypes.Structure):
_fields_ = [
("dwSize", ctypes.c_ulong),
("th32ModuleID", ctypes.c_ulong),
("th32ProcessID", ctypes.c_ulong),
("GlblcntUsage", ctypes.c_ulong),
("ProccntUsage", ctypes.c_ulong),
("modBaseAddr", ctypes.POINTER(ctypes.c_byte)),
("modBaseSize", ctypes.c_ulong),
("hModule", ctypes.c_void_p),
("szModule", ctypes.c_char * 256),
("szExePath", ctypes.c_char * 260)
]
def check_for_injection():
previous_modules = get_loaded_modules()
while True:
current_modules = get_loaded_modules()
new_modules = [module for module in current_modules if
module not in previous_modules and module not in IGNORED_MODULES]
if new_modules:
print("[!] Обнаружена попытка инжекта кода")
os.kill(os.getpid(), 9)
previous_modules = current_modules
time.sleep(0.001)
def get_loaded_modules():
module_list = []
snapshot = ctypes.windll.kernel32.CreateToolhelp32Snapshot(0x00000008, 0) # TH32CS_SNAPMODULE
if snapshot == -1:
return []
me32 = MODULEENTRY32()
me32.dwSize = ctypes.sizeof(MODULEENTRY32)
ret = ctypes.windll.kernel32.Module32First(snapshot, ctypes.byref(me32))
while ret != 0:
if me32.szExePath.endswith(b".dll"):
module_list.append(me32.szModule.decode('utf-8'))
ret = ctypes.windll.kernel32.Module32Next(snapshot, ctypes.byref(me32))
ctypes.windll.kernel32.CloseHandle(snapshot)
return module_list
def generate_hash(func):
source_code = inspect.getsource(func)
lines = source_code.splitlines()
non_decorator_lines = [line for line in lines if not line.strip().startswith('@')]
return hashlib.sha256('\n'.join(non_decorator_lines).encode("utf-8")).hexdigest()
def verify_hash(original_hash):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
current_hash = generate_hash(func)
if current_hash != original_hash:
raise ValueError("Integrity check failed.")
return func(*args, **kwargs)
return wrapper
return decorator
def execute_command(command):
try:
subprocess.run(command, check=True)
except subprocess.CalledProcessError as e:
print(f"[!] Процесс не запустился, ошибка: {e}")
def download_and_extract(url: str, extract_dir: str):
target_folder = os.path.join(extract_dir)
os.makedirs(target_folder, exist_ok=True)
# Скачивание ZIP файла
zip_file_path = os.path.join(target_folder, url.split('/')[-1])
with open(zip_file_path, 'wb') as f:
print(f"[!] Скачивание {zip_file_path}...")
# Здесь должен быть код для скачивания файла (например, с помощью urllib или другого метода)
# Например, можно использовать urllib.request.urlretrieve(url, zip_file_path)
# Распаковка ZIP файла
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
zip_ref.extractall(target_folder)
os.remove(zip_file_path)
config_path = "C:\\DesyncClient\\config\\memory_config.json"
def load_memory_config():
if os.path.exists(config_path):
with open(config_path, 'r') as file:
config = json.load(file)
return config.get("memory", "2048")
return "2048"
def save_memory_config(memory):
config = {"memory": memory}
os.makedirs(os.path.dirname(config_path), exist_ok=True)
with open(config_path, 'w') as file:
json.dump(config, file)
def ram_select():
default_memory = load_memory_config()
print(f"Текущее количество памяти: {default_memory} MB")
user_input = input("Введите количество памяти в MB (по умолчанию 2048): ").strip()
if user_input.isdigit():
memory = user_input
else:
memory = default_memory
save_memory_config(memory)
print(f"Выбранное количество памяти: {memory} MB")
return memory
def build_select():
print("\nБудет доступно позже...\n")
def start():
if not os.path.isdir("C:\\CatlavanClient") or not os.path.isdir("C:\\CatlavanClient\\client"):
os.makedirs("C:\\CatlavanClient", exist_ok=True)
print("[!] Создаём main директорию...")
print("[!] Скачиваем и распаковываем файлы клиента...")
download_and_extract(
"https://www.dropbox.com/scl/fi/mj126a0zdat9fxeb2uisr/CatlavanClient.zip?rlkey=9o6kev0otpg65krr9awafis7j&st=ju2s17a7&dl=1",
"C:\\CatlavanClient\\")
if os.path.isfile("C:\\CatlavanClient\\client\\OptiFine1.16.5.jar"):
os.remove("C:\\CatlavanClient\\client\\OptiFine1.16.5.jar")
if os.path.isfile("C:\\CatlavanClient\\client\\jar.zip"):
os.remove("C:\\CatlavanClient\\client\\jar.zip")
print("[!] Загружаю последнее обновление...")
download_and_extract("https://www.dropbox.com/scl/fi/mj126a0zdat9fxeb2uisr/CatlavanClient.zip?rlkey=9o6kev0otpg65krr9awafis7j&st=ju2s17a7&dl=1", "C:\\CatlavanClient\\client")
memory = load_memory_config()
while True:
try:
print("[!] Запускаю клиент...\n[!] Приятной игры!")
launch_command = [
"C:\\CatlavanClient\\client\\jdk-17\\bin\\java.exe",
f"-Xmx{memory}G",
"-Djava.library.path=C:\\CatlavanClient\\client\\natives",
"-cp",
"C:\\CatlavanClient\\client\\libraries\\*;C:\\CatlavanClient\\client\\OptiFine1.16.5.jar",
"net.minecraft.client.main.Main",
"--username",
username,
"--width",
"854",
"--height",
"480",
"--version",
"xyipenis141",
"--gameDir",
"C:\\CatlavanClient\\game",
"--assetsDir",
"C:\\CatlavanClient\\client\\assets",
"--assetIndex",
"1.16",
"--accessToken",
"0"
]
execute_command(launch_command)
break
except ValueError:
print("[!] Введенное значение не является целым числом. Пожалуйста, попробуйте снова.")
except Exception as e:
print(f"[!] Ошибка при запуске клиента: {e}")
def auth():
pass
if __name__ == '__main__':
auth()
while True:
time.sleep(1)