Introdução
Em um post anterior, eu mostrei como burlar os protetores de link que codificam a URL original em hexadecimal. Se você ainda não viu, clique em:
https://daemoniolabs.wordpress.com/2011/07/23/burlando-protetor-de-link-com-url-codificada-em-hex/
Nesse post irei mostrar como burlar os protetores de links que utilizam a codificação base64 para esconder os links.
O que é base64
Base64 é um padrão de codificação que visa transformar dados binários em textos. Ele é muito semelhante ao uuencode[2], porém o base64 é mais adotado pelas aplicações. Não é intenção desse post explicar o processo de codificação usando esse algoritmo, mas se você quiser mais informações sobre isso visite o link [1].
Programas/Sites Codificadores de base64
Uso GNU/Linux Slackware 13.37 instalação completa e o programa base64 veio instalado por padrão. Verifique em sua distribuição se esse programa (ou algum semelhante) está instalado.
É possível também usar codificadores online. Há uma lista imensa desses sites no google, mas o que mais gostei foi:
http://ostermiller.org/calc/encode.html
Além de operar usando base64, esse site também codifica/decodifica textos em hexadecimal.
Como usar o programa base64
Não precisamos saber muito sobre esse programa, no mais apenas codificar/decodificar a entrada padrão.
Codificando
$ echo 'Hello World' | base64 SGVsbG8gV29ybGQK
Decodificando
$ echo 'ZGFlbW9uaW9sYWJzCg==' | base64 -d daemoniolabs
Como identificar um link em base64
Não é fácil saber de cara quando determinado texto está codificado em base64. Porém há certas características no texto codificado que denunciam o uso desse algoritmo.
- Caracteres na faixa: [a-zA-Z0-9] e “+/”.
- Possível “=” ou “==” no fim do texto.
Em se tratando de links há mais padrões a serem analizados. Por exemplo, quase todo link do protocolo HTTP tem o prefixo http://. Esse prefixo em base64 é:
$ echo 'http://' | base64 aHR0cDovLwo=
Então todo texto que começar com parte da string acima, tem a possibilidade de ser um link. Suponha o texto:
aHR0cDovL2RhZW1vbmlvbGFicy53b3JkcHJlc3MK
Veja que ele começa com aHR0cDovL que indica que um link HTTP foi codificado. Se isso for verdade basta decodificar para obtermos o link real:
$ echo 'aHR0cDovL2RhZW1vbmlvbGFicy53b3JkcHJlc3MK' | base64 -d http://daemoniolabs.wordpress
Exemplo de Protetores de Links
Esses dias me deparei com o seguinte link:
http://encurtador.com/?TUdXNFA1NDQ9ZD8vbW9jLmRhb2xwdWFnZW0ud3d3Ly86cHR0aA==
Podemos notar que há um texto codificado em base64 após o ?. Decodificando esse texto obtemos:
$ echo TUdXNFA1NDQ9ZD8vbW9jLmRhb2xwdWFnZW0ud3d3Ly86cHR0aA== | base64 -d MGW4P544=d?/moc.daolpuagem.www//:ptth
Além do protetor usar base64 para codificar a URL, dificultando ainda mais a sua obtenção direta, ele ainda codifica o link invertido. Para reverter você já sabe:
$ echo 'MGW4P544=d?/moc.daolpuagem.www//:ptth' | rev http://www.megaupload.com/?d=445P4WGM
Conclusão
Como podemos ver é possível burlar várias das técnicas adotadas pelos protetores de links (se há mais alguma nova, post nos comentários). Gostaria de finalizar esse post dizendo que não estou incentivando o download ilegal de filmes e músicas. A intenção do post é apresentar um recurso de proteção de links e como burlá-lo e tudo isso somente para fins educacionais.
Referências
[1] Base64 (Acessado em: Agosto/2011)
http://en.wikipedia.org/wiki/Base64
[2] Uuencoding (Acessado em: Agosto/2011)
http://en.wikipedia.org/wiki/Uuencoding
Pingback: Burlando Protetores de Links III – protetor.org | Daemonio Labs
CADE A PORRA DE ONDE COLOCO O LINK PRA CONVERTER, JA CANSEI DE PROCURAR NO GOOGLE PRA CONVERTER SAPORRA
Tá no post:
http://ostermiller.org/calc/encode.html
Cole o link codificado (só a parte codificada mesmo) e clique em Decode.
t+
Nossa! O cara é burro e ainda é ignorante! Um artigo bom deses e o cara nem pra agradecer… Lamentável…
I will right away take hold of your rss as I can’t find your email subscription link or e-newsletter service. Do you’ve any?
Kindly allow me realize in order that I may subscribe. Thanks.