Review completo: Curso “Programação em Baixo Nível Descomplicada” do Blau Araujo (@debxp)

Visão geral do curso

O curso Programação em Baixo Nível Descomplicada – aprendendo assembly x86-64 no GNU/Linux com 20 pequenos projetos é um treinamento em vídeo criado por Blau Araujo, do canal @debxp no YouTube, voltado para quem deseja compreender, na prática, como a CPU, a memória e o sistema operacional GNU/Linux trabalham para executar programas.

Em vez de se limitar a teoria, o curso guia o aprendizado por meio de 20 pequenos projetos em assembly x86-64, muitos deles reimplementando utilitários reais de linha de comando (como echo, cat, cp, wc, df), além de calculadoras, conversores e ferramentas de inspeção do sistema.

A proposta é levar o aluno da curiosidade pelo baixo nível até a capacidade de ler, escrever e depurar código em assembly x86-64 com confiança, usando GNU/Linux como plataforma principal.

Informações completas de conteúdo, datas, preço e acesso estão na página oficial do curso:

https://bolha.dev/blau_araujo/pbnd

Assista também o vídeo do Youtube no canal @debxp com informações sobre o curso:

Por que este curso de Assembly x86-64 vale atenção

Enfoque prático em baixo nível

O curso se diferencia por não tratar assembly como um tópico abstrato ou puramente acadêmico. Cada aula é estruturada em torno de um projeto concreto, que você compila, executa e depura em um sistema GNU/Linux real. Isso torna conceitos como:

• chamadas de sistema (syscalls),

• estrutura da memória virtual,

• pilha, heap e registradores,

• formatos binários (ELF),

• interação com o kernel

muito mais tangíveis.

Ao final, você não apenas entende “o que é assembly”, mas como o seu código de baixo nível conversa de fato com o sistema operacional.

Conexão direta com o dia a dia em Linux

Os projetos foram escolhidos com foco em quem vive no terminal. Ao reimplementar comandos clássicos (echo, cat, cp, head, tail, wc, df e outros), você aprende:

• parsing de argumentos,

• leitura e escrita em arquivos,

• manipulação de streams padrão,

• construção de CLIs em assembly,

• controle de erros no nível das instruções.

Isso é especialmente valioso para quem já usa GNU/Linux e quer entender o que se passa “por baixo” ao executar esses utilitários.

Relevância para cibersegurança, sistemas e performance

Dominar assembly x86-64 no GNU/Linux é um diferencial real em áreas como:

• cibersegurança e engenharia reversa, onde é necessário ler binários e seguir o fluxo de execução em nível de instrução;

• sistemas operacionais e kernel, que usam intensamente chamadas de sistema, manipulação de memória e controle de contexto;

• HPC e otimização de código, em que é essencial entender o impacto de determinadas instruções na performance;

• compiladores e runtimes, que geram exatamente esse tipo de código em x86-64.

O curso do Blau Araujo oferece a base prática para isso, com foco em projetos que espelham ferramentas reais de sistema.

Proposta do curso

A proposta central do curso é:

Dirigir o aprendizado dos fundamentos da programação em assembly x86-64 no GNU/Linux pelo desenvolvimento de 20 pequenos projetos didáticos.

Ou seja, cada conceito importante da linguagem e da plataforma é introduzido no contexto de um projeto funcional. A progressão é pensada para que você:

1. aprenda o básico de escrita e leitura em assembly,

2. pratique a construção de utilitários reais,

3. avance para trabalho com números e ponto flutuante,

4. chegue à inspeção de sistema de arquivos, dispositivos, memória e CPU.

Requisitos para acompanhar

Para aproveitar o curso com tranquilidade, é recomendado que você tenha:

• Noções básicas de programação imperativa procedural
Qualquer experiência prévia com C, Python, Go, Rust ou linguagens similares ajuda bastante.

• Noções básicas de uso do shell e de utilitários de linha de comando
Saber navegar no terminal, usar pipes, redirecionamentos e comandos básicos do GNU/Linux.

• Sistema operacional GNU/Linux
Pode ser instalado diretamente na máquina ou em máquina virtual.

• Persistência e vontade de aprender
Assembly exige atenção a detalhes; o curso ajuda a descomplicar, mas é um universo de baixo nível, e persistência faz diferença.

Se você já escreve pequenos scripts, usa o terminal com frequência e tem curiosidade sobre como o sistema funciona internamente, este curso encaixa bem no seu perfil.

Formato das aulas e recursos oferecidos

Estrutura em vídeo

• O curso é composto por 20 aulas em vídeo, cada uma focada no desenvolvimento de um pequeno projeto em assembly x86-64 (por vezes integrado com código em C).

• Dependendo do volume de conteúdo de cada lição, uma aula pode ser dividida em vários vídeos menores para facilitar acompanhamento.

• Os vídeos são publicados como “não listados” no YouTube, ou seja, não aparecem em buscas públicas; o acesso é feito somente por link, fornecido no repositório do curso.

Repositório exclusivo

Ao adquirir o curso, você passa a ter acesso permanente a um repositório privado em bolha.dev, com:

• links de todas as aulas em vídeo já publicadas;

• código-fonte dos programas desenvolvidos ao longo do curso;

• uma aba de issues, onde é possível:

• tirar dúvidas;

• discutir detalhes das aulas;

• comentar implementações e tópicos do conteúdo.

Essa combinação de vídeo + repositório + issues transforma o curso em um ambiente de estudo contínuo, com suporte textual e prático.

Notas importantes sobre formato e licenciamento

Há algumas instruções relevantes sobre como aproveitar melhor o material:

• Faça o download de todos os vídeos do curso
Como haverá mudanças futuras na forma de disponibilização pública, é recomendado guardar localmente as aulas.

• Clone o repositório do curso
Assim você tem o código-fonte e os materiais sempre à mão, mesmo que haja alterações no acesso remoto.

• Licença dos vídeos: Creative Commons BY-SA 4.0 Internacional
Isso significa que você pode:

• copiar, compartilhar e adaptar o conteúdo;

• desde que dê os devidos créditos;

• informe claramente alterações que fizer;

• mantenha o mesmo tipo de licença (BY-SA 4.0) em tudo que compartilhar.

Essa escolha de licença é rara em cursos comerciais e reflete uma postura alinhada com software livre e compartilhamento de conhecimento.

Cronograma de publicação

O curso tem um cronograma inicial de publicação definido:

• O primeiro vídeo será publicado na semana de 5 de outubro de 2026.


• Não há data precisa para a publicação da última aula, porque o número de vídeos por projeto pode variar.Ainda assim, você pode considerar um mínimo de:

• 20 semanas de publicação (cerca de 5 meses a partir de outubro de 2026).

Depois que todas as aulas forem publicadas:

• 3 meses após a última aula, os vídeos serão:

• cortados (editados) e

• publicados de forma periódica no YouTube apenas para membros do canal.

Em seguida:

• após a publicação dos cortes do Módulo 1 para membros,

• esses mesmos cortes começam gradualmente a ser liberados para todo o público.

Para quem adquire o curso, porém, o acesso aos vídeos completos e ao repositório é garantido desde o início, com a possibilidade de download e uso contínuo.

Para acompanhar datas, atualizações e detalhes do cronograma, acesse:

https://bolha.dev/blau_araujo/pbnd

Conteúdo detalhado do curso

O conteúdo está organizado em 4 módulos que constroem o aprendizado de forma progressiva.

Módulo 1 – Entrada e saída

Este módulo apresenta os conceitos básicos da linguagem assembly x86-64 e da plataforma GNU/Linux, sempre em projetos que trabalham com entrada e saída de dados.

1. Salve, simpatia!

Temas abordados:

• introdução ao assembly x86-64;

• chamadas de sistema (syscalls);

• como o código-fonte vira programa;

• formato ELF e objetos binários;

• passo a passo de como programas são executados;

• descritores de arquivo;

• escrita na saída padrão.

Este projeto constrói a base mental para entender o fluxo de um programa desde o código até a execução no sistema.

2. Qual é a sua graça?

Temas abordados:

• leitura da entrada padrão;

• dados não inicializados;

• tratamento de erros;

• integração com C;

• convenções de chamada (calling conventions);

• passagem de parâmetros e retorno de valores;

• visibilidade de símbolos.

Aqui você começa a combinar assembly com C, entender como funções se chamam mutuamente e como parâmetros são manejados pela pilha.

3. Um para você, um para mim

Temas abordados:

• estrutura da memória virtual;

• conteúdo inicial da pilha;

• argumentos de linha de comando e ambiente;

• decisão e repetição em baixo nível;

• uso de pipes e redirecionamentos;

• leitura de arquivos.

Este projeto aproxima o aluno da realidade de programas que interagem com o ambiente do shell e com o sistema de arquivos, lidando com controles de fluxo explícitos.

4. Jogo da adivinhação

Temas abordados:

• reutilização de código;

• validação de entrada de dados;

• tipos inteiros e seus limites;

• conversão de strings para inteiros e vice-versa;

• geração de números aleatórios;

• estilização da impressão de caracteres.

É uma aplicação lúdica que reforça manipulação de dados, conversões numéricas e controle de fluxo, conectando lógica de jogo com fundamentos de assembly.

Módulo 2 – Utilidades

Este módulo expande a prática do Módulo 1 com foco em reimplementação de utilitários clássicos do GNU/Linux em assembly x86-64. É uma forma de aprender construindo ferramentas que você já usa no dia a dia.

5. Comandos true e false

Temas abordados:

• reimplementação dos comandos true e false;

• decisões com base nos argumentos.

São comandos simples, ótimos para entender códigos de retorno e lógica binária de sucesso/erro em programas de shell.

6. Comando echo

Temas abordados:

• reimplementação do comando echo;

• lidar com múltiplas opções de linha de comando.

Você passa a manipular argumentos com mais flexibilidade, configurando saída textual e opções que alteram comportamento.

7. Comandos cat

Temas abordados:

• reimplementação do comando cat;

• construção de uma interface de linha de comandos (CLI);

• decidir o que fazer conforme o estado da entrada padrão;

• abertura de arquivos para leitura.

Este projeto reforça leitura de dados, fluxo por stdin, e manipulação de arquivos em baixo nível.

8. Comando cp

Temas abordados:

• reimplementação do comando cp;

• abertura de arquivos para escrita;

• verificação da existência de arquivos;

• prompt de confirmação.

Aqui o foco é escrita em arquivos, cópia de dados e interações mais ricas com o usuário via terminal.

9. Comandos head e tail

Temas abordados:

• reimplementação de head e tail;

• leitura por linhas e por quantidade de bytes.

Você aprofunda manipulação de buffers, contagem de linhas e slicing de dados, essenciais para trabalhar com streams.

10. Comando wc

Temas abordados:

• reimplementação do comando wc;

• contagem de linhas, palavras e bytes.

Este projeto explora análise simples de texto e estatísticas de arquivo, reforçando lógica de contagem e parsing.

11. Comando rev

Temas abordados:

• reimplementação do comando rev;

• inversão dos caracteres de cada linha lida.

É um exercício interessante em manipulação de strings e memória, invertendo sequências de caracteres.

12. Comando tac

Temas abordados:

• reimplementação do comando tac;

• inversão das linhas de um ou mais arquivos.

Complementa o rev, agora invertendo a ordem das linhas, ampliando seu repertório de manipulação de estruturas de dados.

Módulo 3 – Números

Neste módulo, o foco muda para números inteiros, ponto flutuante e outras bases de numeração, conectando operações matemáticas com o mundo real.

13. Conversão de bases

Temas abordados:

• conversão de strings numéricas em várias bases para inteiros;

• impressão de inteiros nas bases 2, 8 e 16.

É um projeto essencial para entender como o sistema lida internamente com diferentes representações numéricas e como isso aparece em ferramentas como debuggers e hexdumps.

14. Calculadora aritmética clicalc

Temas abordados:

• as cinco operações aritméticas com inteiros;

• representações de ponto flutuante;

• cálculos com ponto flutuante.

Você exercita tanto operações inteiras quanto decimais, entendendo as particularidades de cada tipo e possíveis armadilhas de precisão.

15. Calculadora lógica

Temas abordados:

• inclusão de operações lógicas bit a bit na calculadora;

• implementação do uso interativo.

Aqui entra o universo dos operadores bitwise, fundamentais para quem trabalha com protocolos, flags e otimizações de baixo nível.

16. Conversor de unidades de temperatura

Temas abordados:

• conversões entre Celsius, Fahrenheit e Kelvin;

• prática com números de ponto flutuante.

É um projeto mais aplicado, que combina matemática simples com manipulação de floats, reforçando o que foi visto na calculadora.

17. Bytes e bibytes

Temas abordados:

• representações “humanas” de quantidades de bytes;

• contagem decimal e por potências de base 2.

Você passa a entender melhor como sistemas expressam tamanhos de arquivos, discos e memória, em termos tanto decimais quanto binários (KB vs KiB, por exemplo).

Módulo 4 – Sistema

O último módulo foca em inspeção de sistema, abordando ambiente, CPU, memória, dispositivos de bloco e sistema de arquivos em projetos inspirados em utilitários conhecidos.

18. Informações (asfetch)

Temas abordados:

• reprodução simplificada de programas como neofetch;

• dados de ambiente exportados (usuário e host);

• extração de dados em formato de variáveis de shell (sistema operacional);

• extração de campos de texto (shell interativo padrão);

• informações do kernel;

• informações da CPU;

• tamanho e uso de memória.

Este projeto reúne diversos conceitos anteriores, consolidando leitura de arquivos especiais, parsing de texto e integração com o ambiente de sistema.

19. Dispositivos bloco (asblk)

Temas abordados:

• reprodução simplificada do utilitário lsblk.

Você aprende a consultar informações sobre dispositivos de bloco (como discos e partições), aproximando-se da forma como o sistema enxerga o armazenamento.

20. Uso do sistema de arquivos (asdf)

Temas abordados:

• reprodução simplificada do utilitário df.

Aqui o foco é relatório de uso do sistema de arquivos, conectando conceitos de blocos, inodes, tamanhos e percentuais de uso de disco.

Procedimento de aquisição e acesso

Investimento

Há uma promoção de pré-lançamento, válida até 30/09/2026:

• Mercado Pago ou PayPal: R$ 450,00

• Pagamento à vista no PIX: R$ 360,00 (20% de desconto)

Para quem quer garantir o melhor valor, o pagamento via PIX é a opção mais vantajosa nesse período.

Formas de pagamento

As opções disponíveis são:

• PIX

• Chave: [email protected]

• PayPal

• Utiliza o mesmo link usado para doações ao canal.

• Mercado Pago

• Com várias opções de parcelamento.

Isso dá flexibilidade para quem prefere pagamento à vista com desconto ou parcelado com gateways tradicionais.

Como obter acesso ao curso

Após efetuar o pagamento, o procedimento é:

1. Criar uma conta na git forge bolha.dev.

2. Enviar um e-mail para [email protected] com os seguintes dados (todos obrigatórios):

• nome completo;

• e-mail para contato;

• nome de login em bolha.dev (para acesso ao repositório);

• CPF ou CNPJ (para emissão de nota fiscal);

• comprovante de pagamento (em anexo).

Em resposta, o acesso ao repositório exclusivo será liberado, e você receberá o link direto para ele.

Para conferir os detalhes oficiais e acompanhar atualizações, acesse:

https://bolha.dev/blau_araujo/pbnd

Pontos fortes do curso

• Didática por projetos: aprender assembly desenvolvendo ferramentas concretas torna o conteúdo mais acessível e memorável.

• Forte alinhamento com GNU/Linux: ideal para quem já usa ou quer usar Linux como principal ambiente de desenvolvimento.

• Integração assembly + C: mostra como combinar linguagens de alto e baixo nível no mesmo projeto.

• Licença aberta (CC BY-SA 4.0): permite copiar, compartilhar e adaptar o conteúdo, mantendo créditos e licença.

• Foco em utilitários reais: reimplementar echo, cat, cp, wc, df etc. conecta o aprendizado com o que você usa todos os dias.

• Preparação para áreas avançadas: dá base prática para seguir em direção a segurança, kernel, HPC, compiladores e otimização de código.

Para quem este curso é indicado

• Pessoas que já possuem noções básicas de programação e querem “descer um nível” para entender como o código conversa com o hardware e com o sistema operacional.

• Usuários de GNU/Linux que desejam aprofundar o conhecimento além do uso de comandos prontos.

• Estudantes de Ciência da Computação, Engenharia de Software ou áreas afins que buscam base sólida em arquitetura de computadores e sistemas operacionais.

• Entusiastas de cibersegurança e engenharia reversa, que precisam ler e interpretar assembly x86-64 rotineiramente.

• Desenvolvedores interessados em performance, otimizações e entendimento de código gerado por compiladores.

Perguntas frequentes (FAQ)

É necessário já saber assembly para fazer o curso?

Não. O curso parte da introdução aos conceitos básicos de assembly x86-64 no Módulo 1 e avança gradualmente. O requisito é ter noções de programação imperativa e algum conforto com uso de terminal em GNU/Linux.

Posso acompanhar usando GNU/Linux em máquina virtual?

Sim. O curso explicitamente indica que o sistema operacional pode ser utilizado em máquina virtual, o que é uma excelente opção para quem está em Windows ou macOS.

O conteúdo em vídeo fica disponível para sempre?

Você terá acesso ao repositório com links para os vídeos não listados e é orientado a baixar todos os vídeos e clonar o repositório. Isso garante que você tenha o material localmente, independentemente de mudanças futuras na publicação pública de cortes no YouTube.

Posso compartilhar partes do curso com outras pessoas?

Sim, dentro dos termos da licença Creative Commons BY-SA 4.0:

• é permitido copiar, compartilhar e adaptar;

• desde que os créditos sejam mantidos;

• alterações sejam claramente indicadas;

• e a mesma licença BY-SA 4.0 seja aplicada ao que você compartilhar.

O curso é mais teórico ou prático?

O curso é fortemente prático, com foco em 20 projetos que resultam em programas funcionais. A teoria aparece sempre dentro do contexto do que está sendo implementado.

Como começar

Para quem quer colocar as mãos na massa com assembly x86-64 no GNU/Linux, com um foco claro em projetos reais e utilitários de sistema, o curso do Blau Araujo oferece um caminho estruturado e bem alinhado com a realidade de quem vive no terminal.

Veja todos os detalhes, condições de pré-lançamento, conteúdo completo e instruções de acesso diretamente na página oficial do curso:

https://bolha.dev/blau_araujo/pbnd

Deixe um comentário