3P by neo 2023-10-01 | favorite | 댓글 1개
  • 기사는 PROJEKT: OVERFLOW라는 RISC-V 어셈블리 탁상 보드 게임을 소개합니다.
  • 이 게임은 저자의 딸에게 버퍼 오버플로우를 재미있고 상호 작용적인 방식으로 가르치기 위해 만들어졌습니다.
  • 게임은 메모리에 작은 쉘코드를 생성하고 버퍼 오버플로우를 이용하여 이를 점프하여 상대방을 game_over() 함수로 이동시키는 것을 포함합니다.
  • 모든 플레이어는 동일한 메모리를 공유하고 동일한 프로그램을 실행하며, 각각 10개의 명령어를 차례로 실행합니다.
  • 게임은 예외 핸들러 설정이나 몽키 패칭 등 다른 메커니즘과 전략 계층도 포함합니다.
  • 게임은 혼자서 온라인으로 플레이하거나 친구와 함께 할 수 있으며, 인쇄 가능한 버전도 있습니다.
  • 게임에는 다른 난이도 수준에 따른 다양한 승리 조건이 포함되어 있습니다.
  • 저자는 또한 0에서 4095(RV32 JRI가 a0,a4,a5,sp,ra에서 작동)까지의 기계 코드를 가진 유효한 게임 명령어 목록을 제공합니다.
  • 저자는 Python, C, 기계 코드, UNIX 명령어를 가르치는 유사한 교육용 게임도 만들었습니다.
  • 저자는 게임 개발과 테스트에 기여한 여러 사람들에게 감사의 말을 전합니다.
  • 저자는 피드백이나 버그 보고를 위한 연락처 정보를 제공합니다.
  • 기사에는 다양한 RISC-V 어셈블리 튜토리얼과 자료에 대한 링크가 포함된 어셈블리 가이드가 포함되어 있습니다.
  • 저자는 또한 RISC-V 어셈블리를 배우기 위한 연습 문제와 코드 예제 목록을 제공합니다.
  • 게임의 디자인은 최소주의적이며, 인쇄에 대한 기능성과 비용 효율성에 초점을 맞추고 있습니다.
  • 저자는 게임에서 구문 강조를 사용하지 않고, 플레이어가 코드의 다른 요소의 중요성에 대해 자신의 판단을 내릴 수 있도록 합니다.
Hacker News 의견
  • RISC-V 어셈블리 탁상 보드 게임에 대한 포스트, 플레이어들이 상대방을 '해킹'할 수 있게 함
  • 한 댓글러는 창조자가 12세 딸에게 게임을 가르치는 것에 감탄하며, CHERI 버전에 대해 묻는다.
  • 다른 댓글러는 창조자의 동기에 의문을 제기하며, 이것이 자만심 프로젝트일 수 있다고 제안한다.
  • 한 댓글러는 현재의 컴퓨터 메모리 크기를 고려할 때 짧은 니모닉은 나쁜 엔지니어링 선택이라고 주장한다.
  • 이러한 취약점의 존재는 전체 시스템 설계 실패를 가리킨다는 제안이 있다.
  • 한 사람은 직장에서 이 게임을 소개할 계획이다.
  • 한 댓글러는 친구가 게임을 통해 코딩을 배웠다는 이야기를 공유하며, 이것이 비슷한 학습 도구가 될 수 있다고 제안한다.
  • 게임에 적합한 연령 범위에 대한 질문이 있다.
  • 여러 댓글러들이 게임에 대한 흥분과 직장에서 이를 플레이하고 싶다는 욕구를 표현한다.
  • 한 사람은 어셈블리 코딩을 포함한 탁상 보드 게임 개념에 놀랍고 흥분한다.
  • 한 댓글러는 PL/I의 문자열/배열 경계 검사와 상향식 스택을 긍정적인 기능으로 언급한다.
  • 64비트 RISC-V 코드의 미래와 계획된 폐기 가능성에 대한 토론이 있다.