Transcrição do áudio
Importar no Python é algo comum, mas tome muito cuidado porque, meu amigo, se você olhar no canal Hacker, você vai ver que eu falo muito sobre ataque de cadeias de componentes e esses repositórios naturalmente possuem muitos componentes que estão preparados e marinados por hackers experientes. Tome cuidado na importação de módulos. Eu importo muito módulo do próprio Python e evito ao máximo importar módulos do PIP. Quando eu importo módulo, hoje eu importo mais módulo do GitHub, mas calma aí que eu não importo e uso. Eu pego e faço análise estática de código no componente. Aí eu uso o componente. Então está aqui como que nós fazemos. Esse aqui é o Hashlib, não sei se vocês conhecem. Hashlib é uma biblioteca fantástica para a gente fazer criptografias em geral. Beleza? Então, principalmente criptografias de caminho único. One-way function em criptografia. Então vamos lá. Vamos, por exemplo, nanoexemplo. Certo? .py. Então vamos aqui criar o exemplo. Por exemplo, showbang.bin.bash. Opa! Bim, bim, barra, pá. Droga, peraí. Python 3. Legal. Então, primeira coisa que você faz é escrever o nome do script, aonde fica, etc. Legal? Isso é clássico. Para que serve essas coisas? Tem que ter. Logo em seguida então, import hashlib. Então, hashlib é uma biblioteca que você pode usar para fazer MD5, SHA1, SHA2, entre outras. E eu não instalei ela. Ela já está instalada no Python. Então boa parte das bibliotecas já são built-in do Python. Já estão lá dentro. Uma delas é a hashlib. Então vamos lá. SHU, o TILS é uma outra também importante. SIS, OS, Traceback. Então, módulos que você vai conhecendo à medida que você vai usando. Python é interessante porque você não tem que, como eu posso dizer assim, se formar em Python, em ciência da computação, para saber usar ele. Então, na internet você aprende a usar ele com facilidade. Então legal. Vamos dar uma olhada como que funciona. Então, eu fiz import a minha biblioteca. Beleza? Então agora eu venho e vamos colocar aqui um texto idiota. Bom, se é um texto idiota, é um 26456, na verdade seria Botafogo, para ser idiota. Cara, eu estou muito puto. HashObject é igual a hashlib. O que acontece? É comum as pessoas fazerem assim. Ah, hashlib é igual a SH. E aí ele chamaria só H. Para não ficar escrito hashlib hashlib hashlib. Só que isso virou uma zona. Isso virou uma zona. Então, para hashlib nós não fazemos isso. Agora, teve um maldito que criou uma biblioteca chamada BeautifulSope4. Já pensou você ficar escrevendo isso ao longo do seu código BeautifulSope4? BeautifulSope4. Cara, a palavra é difícil de escrever. Então é muito comum a galera que usa BeautifulSope colocar assim import BeautifulSope sbs. A galera passou. E BS inclusive virou ali um nome, um apelido muito usado. Cara, quando você cria uma biblioteca, pelo amor de Deus, tem um nome decente que as pessoas vão conseguir. S-H-A-1. Então eu vou pegar aqui S-H-A-1. Aqui dentro eu colocaria naturalmente um texto. Se não for na memória em Python 2 era um texto mesmo. Só que aí você tem um problema. Esse sistema operacional está em Unicode, ele está em ASCII, ele está em UTF, que diabo é esse sistema operacional? Isso tudo impacta. Quando eu transformo uma string numa readbytes para imputar numa hash, desculpa, uma função de criptografia. Já o Python 3, ele já pede que você escolha o encoding que você quer. Por exemplo, um texto. Ele é um texto, string. Essa minha máquina deve ser um UTF-8 se não for na memória. Eu só uso UTF-8. Mas essa máquina é o Qubes, não foi feita por mim. Tem que dar uma olhada depois. Então é só. Eu tenho que transformar esse texto, essa string, num array de bytes. E nessa transformação da string no array de bytes impacta o Unicode. O UTF, o ASCII, ou seja, o encoding impacta. Então eu coloco aqui ponto encode. Eu estou transformando um texto em um array baseado nesse encode. UTF-8. Por que? Mesmo essa máquina sendo Unicode, ela vai usar o encode UTF-8 para fazer a transformação daquela string em um array de bytes compatível com o UTF-8. Isso é importante. Eu não coloquei no livro porque você faz essa recha aqui mesmo na máquina. E naturalmente, como eu posso dizer, é só um exemplo para exibir. Você não vai usar ela como uma validação de nada. Se eu fosse usar isso para fazer uma validação, exemplo, eu quero guardar todas as reches dos processos em execução. Então eu pegaria o processo, usaria o UTF-8 para depois analisar se o processo foi modificado. E eu saberia que foi o UTF-8. Certo? Então eu usaria assim, beleza? Então, B hash. É normal a gente usar uma H maiúsculo. Então é o hash object. Object.xdigest. Para ele transformar isso aqui em um x decimal. Falta um H, cara. xdigest. É muito comum também você já usar na mesma linha lá em Boutil. Então esse cara aqui vai me retornar um object tipo hash, que é um objeto que vai estar definido dentro da hashlib, que é um módulo. E aí você usa lá um método dele lá, que é o xdigest. E aí ele vai transformar isso em um x decimal visível. Então tipo uma hash clássica. Então, B hash. B hash. E aí você então imprime isso aqui na tela. Legal? X. CHmod mais x exemplo. E um ponto barra exemplo. Opa. Ponto barra exemplo. E aí eu tenho aqui... Você pode executar. Isso aqui não vai mudar. Então eu capturei a hash em sh2. Quer dizer o seguinte. E 126456 em sh1, desculpe, não era 2 não, é 1. É isso aqui. Beleza? E como é que é isso aqui em md5 então? Só você ver aqui. É bem clássico o md5. Embora não se recomende trabalhar com o md5 mais. Opa. Então isso aqui é 126456 em md5 é isso aqui. Pode pesquisar na internet. Então é assim que nós importamos uma biblioteca. E eu aproveitei para lhe explicar questão de criptografia, a importância do hashlib. Aproveitei para te explicar o encoding. E é assim que você aprende, cara. Você aprende indo lá e fazendo as coisas. Bom, tem uma biblioteca que eu confio. Chama Selenium. Selenium eu confio, eu uso para caramba. O Selenium você pode ir lá num site chamado pipi.org. Cara, muito cuidado com isso aqui. Coloque lá o módulo que você quer e escolha o Selenium adequado. Procure ler sobre o projeto. Use pelo amor de Deus o bloco em origem. Principalmente se você é usuário de Windows e Chrome. Você é usuário de Windows e Chrome. Você está ferrado. Essa é a verdade, desculpa. Ser sincero contigo. Então tente aí você utilizar ferramentas seguras. Firefox não é uma excelência. Brave é até bom. Os bons aí é difícil você usar. Você não está acostumado. Você que é do Windows. Não está acostumado com o que é bom. Então você não conseguiria usar os browsers decentes. Que está lá no livro. Está lá no livro de... Deixa eu abrir um browser aqui para vocês. Está lá no nosso amigo, num livro gratuito. Tem um livro gratuito na internet. Você pode ler isso aí. Sobre isso é muito simples. Aquele coloca como você instala no terminal. PIP se você estiver usando o Python 2. PIP 3 se você estiver usando o Python 3. Legal? Então é muito simples. Se você não tem o Python 3, trá-se PIP instalado, ou seja, o PIP 3. Está abrindo aqui, galera. Vamos abrir aqui um... LINE... Espera aí. Então aqui você vai ter vários livros de graça. Você nem cadastrar. Nem cadastrar. Nada disso. Você tem o Weeders se você quiser. Se você não quiser, se você quiser ler PDF, Baixe o PDF, você viu? Eu cliquei aqui, nem cadastrado eu estou. Está lá, eu baixei o PDF. Baixei até pela Deep Web. E aqui você vai aprender sobre browsers. Vai falar sobre browsers aqui nesse material. Se você quiser ler o PDF, igual eu baixei aqui. É um grande foda esse lânter. Clica aqui. Agora, caso você queira ter no seu tablet, no seu CILA para você ler, também tem um APK. E também você não precisa de cadastro de nada. Então, tranquilo? Aí você vai entender o que é um browser desse jeito. Então, Update. Install Python 3 PIP e essa. Então aqui você tem a instalação do PIP para o Python 3. Então você pode naturalmente fazer a instalação do modo. Uma outra forma de você fazer essa instalação, sem usar o PIP, é usar o Python 3.7. Repare que eu fui bem seletivo aqui. Traço o módulo PIP. Install Selenium. Então eu estou fazendo a instalação numa versão específica do Python. Entenderam? O PIP vai funcionar na versão padrão do seu Python. Caso você queira uma versão bem específica, ele instala lá na bem específica. Como que você testa se o módulo foi instalado? Eu utilizo isso aqui de vez em quando, para verificar se os módulos foram instalados. Se não foram instalados, eu instalo. Então você pode rodar esse command line, que ele verifica se o módulo foi instalado. Se não foi, o que você faz? Um if e instala. Sem nenhum problema. Então, até mais. Tchau.