# JavaScript Deobfuscation

A desofuscação de código é uma habilidade importante a ser aprendida se quisermos ter habilidade em análise de código e engenharia reversa. Durante os exercícios da equipe vermelha/azul, muitas vezes nos deparamos com código ofuscado que deseja ocultar certas funcionalidades, como malware que utiliza código JavaScript ofuscado para recuperar sua carga principal. Sem entender o que esse código está fazendo, talvez não saibamos exatamente o que o código está fazendo e, portanto, talvez não consigamos concluir o exercício da equipe vermelha/azul.

| **Comando**                                                | **Descrição**                   |
| ---------------------------------------------------------- | ------------------------------- |
| `curl http:/SERVER_IP:PORT/`                               | solicitação cURL GET            |
| `curl -s http:/SERVER_IP:PORT/ -X POST`                    | solicitação cURL POST           |
| `curl -s http:/SERVER_IP:PORT/ -X POST -d "param1=sample"` | solicitação cURL POST com dados |
| `echo hackthebox \| base64`                                | codificação base64              |
| `echo ENCODED_B64 \| base64 -d`                            | decodificação base64            |
| `echo hackthebox \| xxd -p`                                | codificação hexadecimal         |
| `echo ENCODED_HEX \| xxd -p -r`                            | decodificação hexadecimal       |
| `echo hackthebox \| tr 'A-Za-z' 'N-ZA-Mn-za-m'`            | codificação rot13               |
| `echo ENCODED_ROT13 \| tr 'A-Za-z' 'N-ZA-Mn-za-m'`         | decodificação rot13             |

#### Sites de desofuscação

| **Website**                                 |
| ------------------------------------------- |
| [JS Console](https://jsconsole.com/)        |
| [Prettier](https://prettier.io/playground/) |
| [Beautifier](https://beautifier.io/)        |
| [JSNice](http://www.jsnice.org/)            |
