Syöte

Deobfuskoitu tuloste

Mikä on Python-deobfuskaattori?

Oletko koskaan perinyt Python-skriptin, joka on täynnä \x41\x42-heksajonoja ja sisäkkäisiä exec(compile(...))-kutsuja? Et ole yksin. Obfuskoitu Python-koodi ilmestyy kaikkialla — base64-pakatuista hyötykuormista haittaohjelmadroppereissa exec/eval-temppuihin perustuviin CTF-haasteisiin. Tämä työkalu purkaa Pythonin unicode- ja hex-escapet, avaa exec/compile-kerrokset ja palauttaa luettavan sisennyksen — kaikki selaimessasi, ilman latausta. Käännetyille .pyc-tiedostoille suosittelemme decompile3-projektia.

Työkalu toimii kokonaan selaimessasi. Mitään koodia ei lähetetä palvelimelle. Se käsittelee yleisiä obfuskaatiotekniikoita, kuten hex- ja unicode-escapet, exec(compile(...))-kuviot, base64-vihjeet ja sisennysten palautuksen.

Käyttöohje

1

Liitä tai lataa

Liitä obfuskoitua tai minifioitua Python-koodia vasempaan paneeliin tai lataa .py- tai .txt-tiedosto. Esimerkki lataa esimerkin.

2

Tarkista deobfuskoitu tuloste

Oikea paneeli näyttää siistin ja muotoillun Python-koodin. Merkkijonojen escapet puretaan, sisennys palautetaan ja exec/compile-kuviot merkitään.

3

Kopioi tai lataa

Käytä Kopioi tai Lataa tallentaaksesi tuloksen .py-tiedostona.

Python-deobfuskaattorin esimerkkejä

Tässä esimerkki Python-koodin deobfuskoinnista, jossa käytetään hex-escapesequensseja exec(compile(...))-kutsun sisällä.

Esimerkki: hex-escape + exec(compile) -obfuskaatio

Obfuskoitu syöte:

Syöte

Deobfuskoitu tuloste:

Tuloste

Milloin Python-deobfuskaattori auttaa

Pythonia käytetään laajasti haittaohjelma-analyysissä, CTF-haasteissa ja koodin turvallisuusarvioinneissa. Obfuskoitua Pythonia esiintyy mm. droppereissa, CTF-RE-haasteissa ja skriptisuojauksessa. Työkalu käsittelee lähdekooditason obfuskaatiokuviot automaattisesti.

Usein kysytyt kysymykset

Voiko työkalu purkaa kaiken Python-obfuskaation?

Se käsittelee yleisimmät kuviot: hex/unicode-purku, exec/compile-avaus, base64-vihjeet, puolipistejakaminen ja sisennysten palautus. Kehittynyt VM- tai bytecode-obfuskaatio vaatii erikoistyökalun kuten uncompyle6.

Lähetetäänkö Python-koodini palvelimelle?

Ei — kaikki toimii selaimessasi. Mitään ei ladata eikä tallenneta. Siksi se on turvallinen arkaluonteiselle koodille.

Mitä Python-obfuskaatiokuvioita käsitellään?

Hex-escapet kuten \x41, unicode-escapet kuten \u0041, exec(compile(...))-kääretteet, base64-koodatut merkkijonot, puolipisteillä yhdistetyt lausumat ja tiivistetty sisennys.

Toimiiko se käännetyillä .pyc-tiedostoilla?

.pyc-tiedostot ovat käännettyä bytekoodia — ei lähdekoodia — joten tämä työkalu ei pysty käsittelemään niitä. Tarvitset bytecode-dekompilaattorin kuten decompile3.

Miksi sisennys näyttää erilaiselta kuin alkuperäinen?

Obfuskoitu Python poistaa usein kaikki välilyönnit. Työkalu rekonstruoi lohkorakenteen Python-avainsanoista kuten if, for, def ja class, sitten soveltaa vakiomuotoisen 4 välilyönnin sisennyksen.

Liittyvät työkalut

Lisätietoja Pythonista: virallinen Python-dokumentaatio.