Сообщество RSS DEV

"Запутывание "Hello, world!" с помощью обфускации на Python"

Эта программа на Python 2.7 выводит "Hello world!" с помощью экстремальной обфускации. Она избегает строковых литералов и использует минимальное количество встроенных функций. Основная логика заключается в записи в stdout через os.write, доступ к которому осуществляется с помощью getattr и __import__. Строки "os" и "write" создаются из частей имен встроенных классов. Строка "Hello world!" закодирована как большой целочисленный представитель ASCII-значений. Рекурсивная функция лямбда декодирует это целое число обратно в строку. Целое число 256, используемое при декодировании, представлено как битовый сдвиг (1 << 8). Большое целое число, представляющее "Hello world!", также разбивается на битовые сдвиги и арифметические операции. Литералы целых чисел заменены переменными, сгенерированными из количества аргументов функции и количества локальных переменных. Рекурсивная функция лямбда генерирует последовательность целых чисел от 1 до 8, обеспечивая обфусцированные замены для литералов целых чисел. Окончательная программа представляет собой единственное, сложное выражение лямбда.
favicon
dev.to
Obfuscating “Hello world!” obfuscate on Python
Create attached notes ...