2026. július 3., péntek

Obfuszkáció

A Python kódok obfuszkációja (kódrejtése) során a program logikáját emberi szemmel olvashatatlan, nehezen visszafejthető formává alakítjuk, miközben a kód működése változatlan marad.Az alábbiakban egy egyszerű, mégis hatékony szkriptet találsz, amely a változók átnevezésével és a karakterláncok (stringek) Base64 kódolásával végzi el a rejtést.
----------------
import base64

def obfuscate_code(input_code):
    # Egyszerű sztring obfuszkáció Base64 használatával
    encoded_bytes = base64.b64encode(input_code.encode('utf-8'))
    encoded_str = encoded_bytes.decode('utf-8')
    
    # A rejtett kódot futtató és dekódoló "csomagoló" (wrapper)
    wrapper_code = f"""
import base64

def _():
    c = "{encoded_str}"
    d = base64.b64decode(c).decode('utf-8')
    exec(d)

if __name__ == '__main__':
    _()
"""
    return wrapper_code

# Példa használat
original_code = """
def koszones():
    print("Szia! Ez egy rejtett kód.")

koszones()
"""

rejtett_kod = obfuscate_code(original_code)

# A rejtett kód kiírása fájlba vagy terminálra
print("--- Generált rejtett kód ---")
print(rejtett_kod)

# A rejtett kód futtatása
print("--- Eredeti kód futtatása a rejtésből ---")
exec(rejtett_kod)
---------------
Genus irritabile vatum. (Horatius)--- Generált rejtett kód ---

import base64

def _():
    c = "CmRlZiBrb3N6b25lcygpOgogICAgcHJpbnQoIlN6aWEhIEV6IGVneSByZWp0ZXR0IGvDs2QuIikKCmtvc3pvbmVzKCkK"
    d = base64.b64decode(c).decode('utf-8')
    exec(d)

if __name__ == '__main__':
    _()

--- Eredeti kód futtatása a rejtésből ---
Szia! Ez egy rejtett kód.
-----------------
http://www.hit.bme.hu/~buttyan/courses/BMEVIHIM219/2013/hw_deobfuscation.pdf

Nincsenek megjegyzések:

Megjegyzés küldése