Transcrição do áudio
Coleguinha, é aqui que eu quebro muita gente, meu amigo. Por quê? Não, é maldade minha. É que as pessoas vêm com a maldição do conhecimento. E a maldição do conhecimento, bom, ela é facilmente utilizada contra a própria pessoa. Como funciona a maldição do conhecimento? Vou lhe explicar. Vamos lá. Você é um programador Java, certo? Então, você tem um string para uma variável. O que você vai fazer? Você vai pôr aspa dupla aspa dupla. Não é isso? Aqui não precisa. A menos que tenha espaço. Mas mesmo assim, você usa uma aspa simples. Você é um programador Java. Geralmente, quando você atribui um valor a uma variável, você geralmente usa espaço ali, uma variável igual, né? Adivinha aqui? Não. Vai dar merda. Aqui as coisas não são tipadas por padrão. As coisas são texto. Entenda texto não como um string. Texto como um texto. Imagine um texto. Eu não sei se não PDF. É um texto. É um texto. Legal. Caracas, mano. Então, não. Esses conceitos que vêm de lá, de outras disciplinas, para essa, que chegam aqui e quebram o aluno. Não é o professor da prova. Bom, e nós temos algumas... Eu tenho uma definição sobre JavaScript. JavaScript é uma linguagem amaldiçoada porque tudo dá certo. De várias formas. Não importa como você faz. Vai dar certo. Não é assim? E isso faz com que a internet tenha muita coisa, às vezes, esquisita, que você nunca viu JavaScript, mesmo você trabalhando muitos anos ali, né? Como um programador de JavaScript. Aqui também é bem parecida essa maldição. Por exemplo, variáveis com tudo encaixar alta, né? Isso é muito comum na programação, como uma constante. Lembre-se, quando um processo é montado, é montado então ali a parte de texto que ele chama. Texto quer dizer processo é montado onde você tem a linguagem ali da máquina. Você tem em cima uma pequena de variáveis constantes globais que é fixo e chumbado. Então você tem a memória RIP, um espaço e a pilha. Entenderam? Essa é a estrutura, então, de um processo da memória, certo? Quando nós, em programação, definimos uma constante, ela entra em uma área específica do processo, certo? E então, gente, para que isso fique bem conhecido dentre os programadores, quais variáveis estão na RIP e quais áreas de memória estão na constante, no xambo de variável na constante, porque constante é uma coisa, variável é outra coisa, né? Quais áreas de memória estão na constante, quais áreas de memória estão lá na RIP, nós colocamos encaixar alta, né? As constantes e em lower case nós colocamos então as variáveis, né? Assim, upper case as constantes e lower case as variáveis, mas aí nós temos um pequeno problema, cara. Aqui essa merda não é bem assim não. Aqui o comum é tudo maiúsculo, mas é comum também você encontrar scripts com tudo minúsculo. E é comum você encontrar as coisas sem o define. Então você vai encontrar aqui uma grande sopa de letrinhas, tá? Grande sopa de letrinhas e Unicode, hein? Foi uma piada nerd, entendeu? Sopa de letrinhas e Unicode. Você tá fudido, cara, basicamente isso. E então, se eu pegar um script aqui de qualquer aplicante, pegar um script aqui, cara, vocês vão passar raiva em analisar o script, beleza? Fica aí um bom trabalho de conclusão de curso, gente. Quem quiser fazer é pegar uma rede neural, criar uma rede neural, né? Com múltiplos níveis, lógico. Não utilize LLM, tem que ser rede neural para fazer uma tradução de scripts mais legados por um script mais... um padrão de escrita de um script mais recente. Porque muitos scripts do Linux ainda são da década de 70, né? Final da década de 70 do Unix. Eu sei que você vai falar, mas não tinha Linux na década de 70. É, cara, mas o Linux é uma coxa de retalho de muitas coisas do passado, tá? Por causa dos entusiastas, né? O projeto do GNU, ele era muito controlado ali pelo Stallman, por exemplo, quando o Stallman tava muito presente, ainda tudo era pequeno. Quando começou a ficar muito grande, ele perdeu o controle. Da mesma forma, o Linux, o Linux perdeu o controle, tá? Ele fala alguma coisa, ele é importante no projeto, mas tem muita gente, e com isso traz ali uns caras muito antigos e os dinossauros que às vezes colocam as coisas nas minhas obras. Fala nisso, galera. Opa, foi mal. Esse meu livro tá saindo desse formato, tá? E entrando nesse formato aqui dessa biblioteca digital. Então, aquele meu livro tá virando esse formato digital aqui. Você vai ter... é de graça. Nem cadastro precisa. Só se cadastra quem é autor. O autor, cadastra aqui pra poder escrever livro, só. Ah, eu sou só o cara que vai ler o livro. Você pode baixar diretamente. Tá aqui, ó. Beleza? É um outro formato, é um formato mais pre-book. Meus livros vão todos seguir esse caminho. Eu vou explicar o porquê. Peraí, galera, eu me engasguei antes de dar aula com o café. E você tem uma versão também Android pra você ler. Então, você vai ter uma versão Android pra você ler. Ó, você baixa aqui, tá? Eu vou colocar lá na Apple Store. Você baixa e passa pelo Google Play Protect. Você vai lá no Google Play Protect e faz o... vai lá e analisa o processo. Você vai ver que tá tudo ok, beleza? Eu também vou deixar todo o código aberto. Ele tem Kotlin, né? Kotlin você pode abrir o APK e ver o APK. Normalmente, beleza? Por motivos simples. Por que eu tô mudando? As disciplinas aqui vão ser menos densas, tá? Então, essas disciplinas, ó, 70 aulas. Aqui vai fechar com as 80 aulas, tá? Aqui vai fechar com as 90 aulas. São disciplinas muito grandes, certo? Então, a base vão ter disciplinas bem grandes mesmo, tudo bem. Eu vou manter esse padrão e depois eu vou fazer disciplinas menores, mais curtas, tipo Google Hacking com 5 horas, Network Map, bem focado, entende? Bem focado. MetaSport Framework bem focado. Com esses livros bem focados, tá? Livro de Qubes. Vocês tem um operacional foda pra caramba, muito melhor que esse Debianzinho que a gente usa. O CEH quer certificação, certificação fácil pra você tirar. E se você quer trabalhar na área de security ali, você quer também trabalhar ali como um pen tester, por exemplo, você tem que conhecer o CyberQ Cham, que já tá aqui um textão pra vocês. Legal? São todos textos com menos, vou falar com menos de 200 páginas, que tem aqui com cara com mais de 200 páginas. Mas tem cara com 80 páginas, tá ok? 79 páginas. Então, textos menores e com uma escrita mais moderna, tá? Então, esse livro vai mudar daqui pra lá. Por quê? Então, eu tô quebrando lá no curso, comecei essa semana aí, tá? Quebrando para disciplinas menores, tem certificado, lógico. E eu tô mudando a visão de como as coisas encaixam, em trilhas, tá? Então, você vai fazendo, você pode fazer as disciplinas. Quando você fazer as disciplinas, aqui vai ficando verdinho esses amarelos, esses pontos amarelos. Então, significa que você tá cumprindo, tá? Tá cumprindo, verdinho é vídeo, tá? Esse cor de bosta aqui é livro. Desculpa, galera. Aí, vai ficando verdinho aqui, você tá assistindo os vídeos lá, vai ficando verdinho aqui. Legal? Você vai fazer a trilha. Olha que legal. E aí, você sabe se você vai estar preparado para trilha, hackerético, red team, blue team. E aqui eu coloquei como base para as trilhas as certificações necessárias. Por exemplo, para você ser um hackerético, você vai precisar do Security+, com certeza. Você vai precisar do CEH, que é aquele livro. Aquele livro que você viu lá no aqui, ó. Você pode fazer essa, né? Então, tá aqui todos esses tópicos estão batidos lá, entendeu? E tem mais certificações aqui pra baixo. Vou fazer uma linha vermelha, tá? Ah não, nudos vermelhos no verde, ó. ECP, PT, beleza? Alpentester Profissional. Tem que ter esses tópicos aqui tudinho, você tem que saber esses tópicos tudinho. OSCP, todos esses tópicos tudinho. Então, tô mudando para visão de trilhas. Só que para mudar para visão de trilhas também, se eu tiver então essas entrepranas com 90 aulas, 500 aulas, cara, esses livros de mil páginas aqui, vai ficar muito difícil a gente encaixar as trilhas. Então, tá tendo essa mudança aí, uma reestruturação, beleza? Você não perdeu nada não, tá? Você só vai ficar com a reestruturação, beleza? Vamos lá, vamos continuar aqui. Custo. Custo é igual a zero, tá? Eu vou te fazer uma pergunta. Essa variável custo é o quê? É o número? É zero aquele ali. Número? Não, cara, é texto. Texto, quando eu digo texto, poderia armazenar todo output de um comando que um comando poderia ser. Cáctica esse PDF que você tá vendo. Ele vai ler uma massa, lógico, não vai ler texto bonitinho ou matadinho. Ele vai ler uma massa de bytes, lixo para caramba, do tamanho desse PDF, cara, que tem aí 688 páginas e vai jogar tudo dentro da variável e a variável vai pegar essa Quanto tiver memória vai pegar. Tô falando porque é texto, não é string não, cara. Se fosse string, ele ia truncar. E você não tá vendo áspa dupla nem áspa simples aqui, mas como não foi definido o tipo, é texto. Beleza? Quantos scripts profissionais, eu me sinto há muito tempo, tá gente? Eu vi que é definido o tipo. Zero. Zero. Zero. Zero. Eu nunca tinha visto na minha vida. Sério. Trabalhei anos sem saber. Nunca tinha visto na minha vida. Eu tô falando sério. Como que eu descobri? Que eu quis. Que um dia eu fui lá e fui atrás. Entenderam? Galera, não tira essa coisa. Isso quebra o javero de uma forma sinistra aqui. Tá vendo isso aqui? Isso aqui ele criou uma variável. Vazia, mas criou uma variável. Cadê o valor daqui? Na hora de você imprimir, aí é que você define como você quer imprimir. S é string, por exemplo. F é um float. Um D é um tipo um dígito. E custo aqui tá, deve ter maiúsculo porque foi criado aqui com maiúsculo, tá? Tudo bem? Foi um eu meu aqui de elatural que quando eu vou converter agora esse material meu para o novo padrão, aqui vai tá bonitinho, beleza? Então aqui eu tô imprimindo, tá? Tô imprimindo aqui, como disse. O barra N quebra de linha aqui no Débia. Então ele quebra linha. Porque se não ele imprime e junta o output do printf com o próprio output do terminal. Então vai ficar tudo chubado um em cima do outro. Basicamente isso. Por exemplo, o rodô deu uma quebra de linha aqui ó. Tá vendo aqui entre o zero e essa linha? O E e esse barra N aqui. Legal? Então beleza. Como eu pego então o output de um comando, já que você falou que poderia dar um cat nessa coisa gigante, vai virar uma coisa maluca. Em lugar de uma variável você pode fazer assim tá? O xaobang lógico né? O queira esse script, esse obrigatório, em script mais profissional. Falar nisso é um tópico de scripts profissionais. Aqui eu estou criando uma variável. Cris. Crase. Não pode ter espaço aqui e não pode ter espaço aqui. Não pode ter espaço. É colado mesmo. Eu odeio isso. Sabe por quê? Você é um programador novo, você pode colar toda essa bosta no teu código aí. Você pode deixar tudo sem dentar a bosta do teu código. Você está pegando pro teu código. Mas o que que acontece? Se você chama um cara que tem problema de visão como eu, fodeu. E se a gente vai dar manutenção no código, ou seja, manutenabilidade, que palavra do capeta também, do código, o que que acontece? Você tem que pensar nisso no início de uma empresa. Quer dizer o seguinte. Se você faz um código ilívio, só você entende, você vai ser o problema da empresa. Entende? E sempre que a pessoa é um problema pra empresa, o que que acontece? Pense. Bom, então, quando concatena tudo assim, que é o correto aqui nessa linguagem, ela não pode pôr espaço, uma pessoa mais jovem consegue ver com facilidade. Já uma pessoa mais velha como eu com dificuldade de visão, não. Já tem muita dificuldade de ver um código desse. Agora imagina um script desse com umas mil linhas. Deixa eu pegar um script aqui. Então, tá logo github.com, tá? Não importa. Cara, esse aqui é meu GitHub, tá? Se vocês quiserem, vem aqui no meu GitHub, cara, e curta aqui, tá? Tem um projeto chamado Caffeash Monger. E esse projeto Caffeash Monger, deixa eu ver aqui, deixa eu ver em comandos. Oh caramba, já naveguei errado. Aqui, clica em código, aqui. Comandos, tá? Vamos ver um install aqui. Isso aqui é um script que eu fiz na instalação, beleza? Galera, curta sempre e compartilhe meus conteúdos, tá? Em qualquer plataforma. Então, veja, aqui eu tô falando, né? O Shobang, eu tô dizendo pra que serve, onde que ele tem que tá, beleza? E ele já tem o próprio nome dele, então não preciso de ver o nome. Eu só preciso de ver onde que ele tem que tá. E aí, repara. Olha só como que eu coloco um string. Cadê aspa dupla? Cadê aspa dupla? Cadê aspa simples? Ah, você vai pensar, ah, porque é um path. Não, cara, isso aqui é um string, cara. Desculpa, é um texto. Olha, string novo. Isso é um texto, tá? Então, olha só, isso aqui é um array. Isso aqui é um array. Beleza? Por que que eu coloquei aspa dupla? Só por causa dos traços aqui, ó. Pra não dar merda. Entende? E aí eu mantive o padrão. Poderia ter colocado um zip sem aspa dupla. Mas eu quis manter um padrão ali, pra eu poder enxergar melhor o código. Tá ok? Então, isso aqui é um exemplo de script, ó. Repara. Aqui eu coloquei aspa simples, desculpa, é, aspa simples, por causa dessas barras, tá? Por causa dessas barras, eu não quis que ele não entendesse a história. Mas eu poderia ter arriscado e não ter colocado aspa simples. Cara, é uma linguagenzinha complicada. Você tá entendendo por que que... Isso aqui é só um script de instalar os pacotes, tá? Tá entendendo por que que é uma coisa que derruba muita gente? Isso aqui derrubou muita gente, cara. Vamos dar uma olhada no codóencrypt? Codóencrypt... Eu lembro que o codóencrypt tinha uma coisa bem sinistra aqui, que era criação de volumes em SH. Novamente, né? Aonde que ele tem que estar e tal. Olha só. Aqui é um comando, né? Comando. Você vê que tem uma variável sendo criada aqui. Não, não tem variável sendo criada aqui, não. Entendeu? E é comum nos meus scripts eu ter isso aqui, tá? Eu mantenho uma referência de onde eu localizei alguma coisa. É comum você encontrar isso nos meus scripts, eu quero ajudar, né? Quem vai dar manutenção é dar manutenção dessa coisa. Espero que eu não tenha fechado, que eu tinha que ter fechado. Ou que eu não deveria ter fechado. Legal. Então vocês viram que você não coloca espaço, né? Não coloca espaço aqui. E aí você utiliza simplesmente usando aqui o que o professor não tem, né? Que é o cifrão. Para criar você não usa cifrão, mas para usar você usa com cifrão. Beleza? Isso aqui vão produzir exatamente o mesmo resultado. Por isso que a galera não usa áspa dupla. Eu só uso áspa dupla ou áspa simples quando tem espaço. Exemplo. Isso aqui, repara. A cidade não tem espaço na cidade, né? Não tem espaço, certo? Então não tem o porquê eu colocar áspa simples. Então coloca sem, direto. Sem espaço, lógico aqui, né? Aí direto. Agora, como tem espaço aqui, ó. Aí eu tenho que colocar então áspa dupla ou áspa simples. Beleza? Tranquilo? Quando eu tenho dois pontos, traço, eu coloco também. Eu quero evitar problemas, tá? Quando eu tenho um tracinho ou dois pontos. Ah, lembrei por que eu coloquei na HTTP dois pontos, dois pontos barra barra. Então, eu coloco também. Então, é assim que nós trabalhamos. Legal? Então aqui, repare. Taxa é uma variável, certo? Taxa, mensagem. Repara. Não coloquei espaço aqui, não. Tá vendo? Beleza? Agora, aqui eu preciso escrever um texto. Então, como que eu escrevo? Eu coloco áspa dupla de fora a fora. Para isso aqui, certo? E aí eu escrevo, ah, taxa é... E aqui, é para isso aqui, certo? Para eu escrever, áspa dupla, áspa dupla, cifrão. A variável áspa dupla, áspa dupla, é para escrever o valor ali dentro. Beleza? E aí eu conseguiria imprimir a mensagem normalmente assim, com printf. Imprimido como string. A valor... Eu não precisaria, eu poderia, eu poderia. Apaga esse vídeo, tá? Eu não vou fazer isso. Eu vou fazer isso. Eu vou fazer isso. Eu vou fazer isso. Eu poderia, eu poderia. Apaga esse aqui, ó. Essa áspa dupla aqui. Não dá pau. Não é ruim. Não é certo. Não é errado. Só estou digitando demais. Digitar demais acaba virando um problema. Tem uma outra forma mais moderna de você escrever isso? Que é colocando assim, ó, diretamente. Isso que... Isso aqui... Você pode substituir por isso aqui. Beleza? Isso aqui... Não é muito utilizado. Mas você pode encontrar. Eu já encontrei. E isso aqui é o que é utilizado na prática. Lembrando de não colocar essa áspa dupla e nem essa áspa dupla aí. No teu script. Legal? Beleza, cara. Complicado. Variáveis, hein? Até o próximo vídeo onde eu vou falar em as pré-definidas. Até mais. Tchau.