Syöte

Purettu tuloste

Mikä on JSFuck-dekooderi?

Oletko koskaan avannut JavaScript-tiedoston ja löytänyt vain `+!+[]+(![]+[])[+[]]` täyttämässä koko näytön? Se on JSFuck — tekniikka, joka koodaa minkä tahansa JavaScriptin vain kuudella merkillä: `[`, `]`, `(`, `)`, `!` ja `+`. JSFuck-dekooderi kääntää sen takaisin luettavaksi koodiksi. MDN JavaScript -dokumentaatio selittää kielen ominaisuudet, joita JSFuck hyödyntää — tyyppipakotus, taulukon indeksointi ja booleanmuunnos. ECMAScript-määritys määrittelee, miksi `+!+[]` antaa `1`. Syvempää analyysiä varten käytä AST Exploreria tai Chrome DevToolsia. Babel voi normalisoida purettua tulosta edelleen. Kaikki toimii selaimessa — koodisi ei koskaan poistu koneeltasi.

Työkalu toimii kokonaan selaimessasi. Mitään ei lähetetä palvelimelle. Koodin obfuskointiin: JavaScript-obfuskaattori. Pelkkään muotoiluun: JavaScript-muotoilija. Validointiin: JavaScript-validaattori.

JSFuckin purkaminen

1

Liitä tai lataa

Liitä JSFuck tai sekoitettu obfuskoitu JavaScript editoriin. Työkalu purkaa ja muotoilee koodia helpompaa tarkastelua varten.

2

Tarkista purettu tuloste

Tuloste näyttää parhaan yrityksen purun ja normalisoinnin. Syvästi sisäkkäiset payloadit voivat silti vaatia manuaalista analyysiä.

3

Kopioi tai lataa

Käytä Kopioi tai Lataa tuloksen saamiseksi. Koodin ajamiseen: JavaScript-konsoli.

JSFuck-dekooderin esimerkki

Tässä esimerkki JSFuck-tyylisten symbolien ja escapojen purkamisesta.

Esimerkki: symboleja runsaasti sisältävä obfuskoitu lauseke

JSFuck-syöte:

Syöte

Purettu tuloste:

Tuloste

Milloin JSFuck-dekooderi auttaa

Hyödyllinen haittaohjelmien esikarsinnassa, CTF-haasteissa ja JSFuck-notaatiota käyttävien skriptien käänteismallinnuksessa. Pura ensin ja tarkista käyttäytyminen turvallisemmassa työnkulussa.

Usein kysytyt kysymykset

Onko datani yksityistä?

Kyllä. Purku tapahtuu kokonaan selaimessasi. Mitään ei lähetetä palvelimelle.

Puretaanko kaikki JSFuck-payloadit?

Se käsittelee monia symboleja runsaasti käyttäviä kuvioita, mutta syvästi sisäkkäiset payloadit voivat vaatia manuaalista purkamista.

Voiko obfuskaation kääntää kokonaan?

Riippuu obfuskaatiosta. Yksinkertaiset kuviot kääntyvät. Vahva obfuskaatio voi jättää koodin vaikeasti luettavaksi.

JSFuck-dekooderi vs. deobfuskaattori?

JSFuck-dekooderi kohdistuu symbolipohjaisiin koodauksiin. Yleinen deobfuskaattori sopii paremmin sekoitettuun tai ei-JSFuck-obfuskaatioon.

Onko deobfuskaatio laillista?

Käytä omaan koodiisi debuggaukseen, turvallisuustutkimukseen tai luvalla. Tarkista kolmannen osapuolen koodin lisenssit ja ehdot.

Liittyvät työkalut

ECMAScript. MDN JavaScript. Terser. Chrome DevTools. Babel.