I-scan ang isang HTML o SVG na kalakip para sa mga nakatagong payload, atob/eval na kadena, at mga form na nasa labas ng site.
Multi-Layer na Dekoder
Ang kasangkapan mismo ay nasa Ingles; ipinaliwanag ito ng pahinang ito sa iyong wika.
Gamitin angMulti-Layer na Dekoder
Ano ang ginagawa nito
I-paste ang naka-encode o na-obfuscate na teksto at unti-unting bubuksan ng decoder ang bawat layer, ipinapakita ang bawat hakbang, hanggang sa manatiling nababasang teksto o isang kilalang format ng file. Lahat ay tumatakbo sa iyong browser.
Ganap itong tumatakbo sa iyong browser: walang anumang ipinasok mo ang ina-upload.
Paano gamitin ang Multi-Layer na Dekoder
- I-paste ang naka-encode na teksto. I-paste ang string sa naka-encode na teksto: isang Base64 blob mula sa script, isang mahabang hex na string, textong naka-percent-encode, o isang listahan ng String.fromCharCode.
- I-decode. Pindutin ang Decode layers o Ctrl+Enter. Ang bawat kinikilalang layer ay hinuhubad nang sunud-sunod, hanggang sa 12.
- Basahin ang kadena. Ang pamagat ay naglilista ng mga layer nang sunud-sunod. Sa bawat hakbang, ipinapakita ang pamamaraan, ang sukat bago at pagkatapos, at isang paunang sulyap.
- Gamitin ang resulta. Kopyahin ang teksto na na-decode, basahin ang mga Indicator sa resulta, o gamitin ang Ipadala sa para sa HTML Attachment Analyzer, Link Unwrapper, IOC Converter o URL Defanger.
- Sumakay nang may kamay. Kung may isang layer na hindi napansin, pumili ng isang paraan sa ilalim ng "Decode as" at ilapat ito. I-undo ang huling layer; bumalik ng ilang hakbang.
Halimbawa
Base64 na naka-URL-encode ng gzip
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA3 layers: URL percent-encoding → Base64 → gzip
No further encoding recognised.
1
URL percent-encoding
1 escape · 130 → 128 bytes
H4sIAAAAAAACA7MpTi7KLCixK8/MS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
2
Base64
decodes to gzip · 128 → 96 bytes
00000000 1f 8b 08 00 00 00 00 00 02 03 b3 29 4e 2e ca 2c |...........)N..,|
00000010 28 b1 2b cf cc 4b c9 2f d7 cb c9 4f 4e 2c c9 cc |(.+..K./...ON,..|
00000020 cf d3 cb 28 4a 4d 53 b0 55 50 ca 28 29 29 28 b6 |...(JMS.UP.())(.|
… 48 more bytes
3
gzip
96 → 82 bytes
<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>
Result
Text, 82 bytes.
<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>
Indicators in the result (1)
URL
hxxps://example[.]com/verify?session=7f3a
Copy indicators (raw)Tatlong patong: URL percent-encoding (%2F), Base64 na nagde-decode sa gzip na datos, at ang gzip mismo, na nagtatapos sa isang script na nagpapadala sa browser sa https://example.com/verify.
Ano ang sinusuri nito
| Sinyales | Ano ang ibig sabihin nito |
|---|---|
| Pilaseng kadena | Ang mga encoding sa pagkakasunod-sunod, halimbawa Hex → Base64. Ang ilang patong sa paligid ng isang maikling URL o utos ay karaniwang nangangahulugang nais ng isang tao na itago ito. |
| Laki bawat hakbang | Mga byte na papasok at palabas sa bawat layer. Ang isang gzip o deflate layer na lumalaki nang malaki ay karaniwang decompression. |
| Teksto ng UTF-16LE | Dalawang byte bawat karakter, karaniwan sa PowerShell -EncodedCommand. Ang isang na-decode na utos na nagda-download o nagpapasimula ng isang bagay ay isang pulang bandila. |
| Binary na resulta | Kung ang huling resulta ay hindi teksto, ipinapakita ang hex dump ng unang 512 bytes kasama ang natukoy na format. Kopyahin ito bilang hex o Base64; huwag kailanman patakbuhin. |
| Mga indikador sa resulta | Mga URL, mga address ng email, at mga IPv4 address na matatagpuan sa naka-decode na teksto, ipinapakita nang walang mapaminsalang bahagi, at may pindutan para kopyahin ang mga ito nang buo. |
| Huminto ang mensahe | Walang karagdagang encoding na kinikilala, ang limitasyon sa 12 na patong, o isang hakbang na uulitin ang naunang resulta. Sa hangganan, maaaring may mas maraming patong. |
| Opsyon na Defang | Sa default ay naka-on: Ang mga URL at address ng email sa resulta ay ipinapakita nang walang malisyosong bahagi. Ang Copy ay palaging nagbibigay ng hilaw na teksto. |
| Panatilihin ang pagpipilian ng pag-peel | Pagkatapos ng manu-manong hakbang ng pag-decode, magpapatuloy nang awtomatiko ang pag-decode maliban kung i-untick mo ito. |
| I-decode bilang listahan | Base64, URL-safe Base64, hex, URL percent-encoding, mga HTML entity, mga escape, mga character code, quoted-printable, gzip, zlib, raw deflate at UTF-16LE, para sa mga hakbang na nilalaktawan ng awtomatikong pass. |
| Kopya ng mga pindutan | Ibinibigay ng Copy ang naka-decode na teksto nang hilaw. Nag-aalok naman ang binary result ng Copy bilang hex at Copy bilang Base64. |
Karagdagang mga halimbawa
RFC 4648 na test vector
Zm9vYmFy1 patong: Base64, 8 → 6 na byte. Ang resulta ay ang teksto na foobar, ang halagang inilathala sa RFC 4648.
Hex sa paligid ng Base64 sa paligid ng isang URL
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3dDalawang patong: Hex → Base64 (88 → 44 → 31 bytes). Ang resulta ay https://login.example.net/reset, na ipinakita nang walang malalaking bahagi at nakalista sa ilalim ng Mga Tagapagpahiwatig sa resulta.
PowerShell na naka-encode na utos
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcADalawang patong: Base64 → UTF-16LE na teksto, na tinatayang karaniwan sa PowerShell -EncodedCommand. Ang resulta ay Start-Process 'https://example.org/update', kung saan ang URL ay nakalista bilang palatandaan.
Madalas na tanong
Anong mga encoding ang kinikilala nito?
Base64 (pangkaraniwan at URL-safe, opsyonal ang padding), hex sa plain na teksto, 0x, \x, naka-separate ng puwang o colon, URL percent-encoding, mga HTML entity, \x, \u, \u{…} at %u escapes, String.fromCharCode lists, quoted-printable, gzip, zlib at raw deflate, at UTF-16LE na teksto gaya ng PowerShell -EncodedCommand. Ang mga tawag tulad ng atob('…') o base64_decode('…') at ang data: URI ay hindi rin na-wrap.
Bakit ito tumigil, o bakit iniwan nito ang text ko kung ano ito?
Tinatanggap lamang ang isang layer kapag ang output nito ay nababasang teksto, isang kilalang format ng file, o isang stream na maayos na na-decompress, kaya ang mga karaniwang salita na sakto lang ay valid na Base64 ay hindi pinapansin. Maaaring hindi matukoy ang maiikling o hindi pangkaraniwang mga encoding: gamitin ang Decode as para mano-manong ilapat ang pamamaraan at ang Undo para bumalik. Nakatitigil ito pagkatapos ng 12 patong.
Patakbuhin o ipapadala ba ang naka-dekod na nilalaman kahit saan?
Hindi. Ang pag-decode ay gumagamit ng plain JavaScript at ng DecompressionStream ng browser; ang resulta ay ipinapakita bilang teksto o hex dump at hindi kailanman nae-execute, nirere-render, o ina-upload.
Saan nanggagaling ang mga ganitong linya?
Ang mga phishing na pahina at mga kalakip ay nagtatago ng mga URL at code sa Base64 o hex, ang mga pahina ng ClickFix ay kinokopya ang mga naka-encode na utos ng PowerShell sa iyong clipboard, at ang mga email ay dumarating bilang quoted-printable. I-paste ang string dito sa halip na patakbuhin ito.
Maaari ko bang i-decode nang paisa-isa ang bawat layer?
Oo. I-untick ang 'Pagkatapos ng manwal na hakbang', panatilihin ang awtomatikong pag-peel, pagkatapos ay pumili ng paraan sa ilalim ng 'I-decode bilang' at pindutin ang 'I-apply sa kasalukuyang resulta' para sa bawat hakbang.
Gaano karaming teksto ang maaari kong i-paste?
Hanggang 5 MB. Ang mga resulta na mahigit sa 200,000 karakter ay pinapaikli sa screen, ngunit ibinibigay ng Copy ang buong teksto.
Ano ang quoted-printable at percent-encoding?
Pareho silang sumusulat ng byte bilang sign na sinusundan ng dalawang hex na digit. Ang quoted-printable ay nagmula sa mga katawan ng email, kung saan ang =3D ay kumakatawan sa =. Ang percent-encoding ay nagmula sa mga URL, kung saan ang %2F ay kumakatawan sa /.