Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Выключение инлайнинга с nuitka

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
3 Янв 2026
Сообщения
158
Реакции
2
Обфускатор пишу для python, и мне nuitka постоянно инлайнит константы все практически. Есть идеи как можно выключить это или просто сдклать константы так что бы нельзя было заинлайнить?
 
Код:
Expand Collapse Copy
nuitka \
    --standalone \
    --optimization-level=0 \
    --no-lto \
    --disable-ccache \
    --no-progressbar \
    main.py
+

Код:
Expand Collapse Copy
def __getattr__(name: str): # name имя запрашиваемой константы
    if name == "SECRET_KEY": # если просят SECRET_KEY
        return "123456789" # возвращаем значение (нуитка может заинлайнить)
   
    if name == "API_TOKEN":    # если просят API_TOKEN
        return decrypt("encrypted_token")  # вызываем расшифровку
   
    # если атрибут не нашелся, то кидаем исключение
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

# для from module import * и некоторых анализаторов.
# не поможет, но пусть будет.
__all__ = ["SECRET_KEY", "API_TOKEN"]
подобное.
 
Обфускатор пишу для python, и мне nuitka постоянно инлайнит константы все практически. Есть идеи как можно выключить это или просто сдклать константы так что бы нельзя было заинлайнить?
если ты хочешь что то серьёзное: native c++ (or c)
 
Код:
Expand Collapse Copy
nuitka \
    --standalone \
    --optimization-level=0 \
    --no-lto \
    --disable-ccache \
    --no-progressbar \
    main.py
+

Код:
Expand Collapse Copy
def __getattr__(name: str): # name имя запрашиваемой константы
    if name == "SECRET_KEY": # если просят SECRET_KEY
        return "123456789" # возвращаем значение (нуитка может заинлайнить)
  
    if name == "API_TOKEN":    # если просят API_TOKEN
        return decrypt("encrypted_token")  # вызываем расшифровку
  
    # если атрибут не нашелся, то кидаем исключение
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

# для from module import * и некоторых анализаторов.
# не поможет, но пусть будет.
__all__ = ["SECRET_KEY", "API_TOKEN"]
подобное.
Попробую такое сделать. Спс.
Попробую такое сделать. Спс.
Код:
Expand Collapse Copy
nuitka \
    --standalone \
    --optimization-level=0 \
    --no-lto \
    --disable-ccache \
    --no-progressbar \
    main.py
+

Код:
Expand Collapse Copy
def __getattr__(name: str): # name имя запрашиваемой константы
    if name == "SECRET_KEY": # если просят SECRET_KEY
        return "123456789" # возвращаем значение (нуитка может заинлайнить)
  
    if name == "API_TOKEN":    # если просят API_TOKEN
        return decrypt("encrypted_token")  # вызываем расшифровку
  
    # если атрибут не нашелся, то кидаем исключение
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

# для from module import * и некоторых анализаторов.
# не поможет, но пусть будет.
__all__ = ["SECRET_KEY", "API_TOKEN"]
подобное.
Не хочешь кстати попробовать решить мой crackme?
 
Назад
Сверху Снизу