- Bài viết giới thiệu PROJEKT: OVERFLOW, một trò chơi cờ bàn về assembly RISC-V.
- Trò chơi này được tạo ra để dạy con gái của tác giả về buffer overflow theo cách vui nhộn và có tính tương tác.
- Trò chơi xoay quanh việc tạo ra shellcode nhỏ trong bộ nhớ và dùng buffer overflow để nhảy tới đó, đưa đối thủ vào hàm
game_over().
- Tất cả người chơi cùng chia sẻ một vùng nhớ và chạy cùng một chương trình, mỗi người lần lượt thực thi 10 lệnh.
- Trò chơi cũng bao gồm các cơ chế và lớp chiến thuật khác như thiết lập exception handler hoặc monkey patching.
- Có thể chơi trực tuyến một mình hoặc cùng bạn bè, và cũng có phiên bản có thể in ra.
- Trò chơi có nhiều điều kiện chiến thắng khác nhau tương ứng với các mức độ khó khác nhau.
- Tác giả cũng cung cấp danh sách các lệnh hợp lệ trong trò chơi với mã máy từ 0 đến 4095 (RV32 JRI hoạt động trên a0, a4, a5, sp, ra).
- Tác giả cũng đã tạo ra các trò chơi giáo dục tương tự để dạy Python, C, mã máy và lệnh UNIX.
- Tác giả gửi lời cảm ơn tới nhiều người đã đóng góp cho việc phát triển và kiểm thử trò chơi.
- Tác giả cung cấp thông tin liên hệ để nhận phản hồi hoặc báo lỗi.
- Bài viết có kèm một hướng dẫn assembly với các liên kết tới nhiều tutorial và tài liệu về assembly RISC-V.
- Tác giả cũng cung cấp danh sách bài tập thực hành và ví dụ mã để học assembly RISC-V.
- Thiết kế của trò chơi theo phong cách tối giản, tập trung vào tính thực dụng và hiệu quả chi phí khi in ấn.
- Tác giả không dùng syntax highlighting trong trò chơi, để người chơi tự đánh giá mức độ quan trọng của các thành phần khác nhau trong mã.
1 bình luận
Ý kiến trên Hacker News