3 pontos por GN⁺ 2023-10-01 | 1 comentários | Compartilhar no WhatsApp
  • O artigo apresenta o PROJEKT: OVERFLOW, um jogo de tabuleiro de assembly RISC-V.
  • O jogo foi criado para ensinar buffer overflow à filha do autor de uma forma divertida e interativa.
  • O jogo envolve criar um pequeno shellcode na memória e usar um buffer overflow para saltar até ele e levar o oponente para a função game_over().
  • Todos os jogadores compartilham a mesma memória e executam o mesmo programa, rodando 10 instruções por vez em turnos.
  • O jogo também inclui outros mecanismos e camadas estratégicas, como configuração de tratadores de exceção e monkey patching.
  • É possível jogar sozinho online ou com amigos, e também há uma versão para impressão.
  • O jogo inclui várias condições de vitória para diferentes níveis de dificuldade.
  • O autor também fornece uma lista de instruções válidas do jogo com códigos de máquina de 0 a 4095 (o RV32 JRI funciona em a0, a4, a5, sp, ra).
  • O autor também criou jogos educativos semelhantes para ensinar Python, C, código de máquina e comandos UNIX.
  • O autor agradece a várias pessoas que contribuíram para o desenvolvimento e os testes do jogo.
  • O autor fornece informações de contato para feedback ou relatos de bugs.
  • O artigo inclui um guia de assembly com links para vários tutoriais e materiais sobre assembly RISC-V.
  • O autor também fornece uma lista de exercícios práticos e exemplos de código para aprender assembly RISC-V.
  • O design do jogo é minimalista, com foco em funcionalidade para impressão e eficiência de custo.
  • O autor não usa syntax highlighting no jogo, para que os jogadores possam formar seu próprio julgamento sobre a importância dos diferentes elementos do código.

1 comentários

 
GN⁺ 2023-10-01
Comentários do Hacker News
  • Post sobre um jogo de tabuleiro de montagem RISC-V que permite aos jogadores “hackear” o oponente
  • Um comentarista admira o criador por ensinar o jogo à filha de 12 anos e pergunta sobre uma versão CHERI.
  • Outro comentarista questiona a motivação do criador, sugerindo que isso pode ser um projeto de vaidade.
  • Um comentarista argumenta que mnemônicos curtos são uma má escolha de engenharia, considerando o tamanho atual da memória dos computadores.
  • Há a sugestão de que a existência dessas vulnerabilidades indica uma falha no projeto de todo o sistema.
  • Uma pessoa planeja apresentar esse jogo no trabalho.
  • Um comentarista compartilha a história de um amigo que aprendeu a programar por meio de um jogo, sugerindo que este poderia ser uma ferramenta de aprendizado semelhante.
  • Há uma pergunta sobre a faixa etária adequada para o jogo.
  • Vários comentaristas expressam entusiasmo com o jogo e o desejo de jogá-lo no trabalho.
  • Uma pessoa se surpreende e se anima com o conceito de um jogo de tabuleiro que inclui programação em assembly.
  • Um comentarista menciona positivamente a verificação de limites de strings/arrays do PL/I e sua pilha ascendente como recursos positivos.
  • Há uma discussão sobre o futuro do código RISC-V de 64 bits e a possibilidade de sua descontinuação planejada.