TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: RISC-V assembly tabletop board game (hack your opponent)

400 点作者 throwaway71271超过 1 年前
I made this game to teach my daughter how buffer overflows work. I want her to look at programs as things she can change, and make them do whatever she wants.<p>Building your exploit in memory and jumping to it feels so cool. I hope this game teaches kids and programmers (who seem to have forgotten what computers actually are) that its quite fun to mess with programs. We used to have that excitement few years ago, just break into softice and change a branch into a nop and ignore the serial number check, or go to a different game level because this one is too annoying.<p>While working on the game I kept thinking what we have lost from 6502 to Apple Silicon, and the transition from &#x27;personal computers&#x27; to &#x27;you are completely not responsible for most the code running on your device&#x27;, it made me a bit sad and happy in the same time, RISCV seems like a breath of fresh air, and many hackers will build many new things, new protocols, new networks, new programs. As PI4 cost increases, the esp32 cost is decreasing, we have transparent displays for 20$, good computers for 5$, cheap lora, and etc. Everything is more accessible than ever.<p>I played with a friend who saw completely different exploits than me, and I learned a lot just from few games, and because of the complexity of the game its often you enter into a position that you get surprised by your own actions :) So if you manage to find at least one friend who is not completely stunned by the assembler, I think you will have some good time.<p>A huge inspiration comes from phrack 49&#x27;s &#x27;Smashing The Stack For Fun And Profit&#x27; which has demystified the stack for me: <a href="http:&#x2F;&#x2F;phrack.org&#x2F;issues&#x2F;49&#x2F;14.html#article" rel="nofollow noreferrer">http:&#x2F;&#x2F;phrack.org&#x2F;issues&#x2F;49&#x2F;14.html#article</a><p>TLDR: computers are fun, and you can make them do things.<p>PS: In order to play with my friends I also built esp32 helper[1] that keeps track of the game state, and when I built it and wrote the code and everything I realized I could&#x27;ve just media queried the web version of the game.. but anyway, its way cooler to have a board game contraption.<p>[1]: <a href="https:&#x2F;&#x2F;punkx.org&#x2F;overflow&#x2F;esp32.html" rel="nofollow noreferrer">https:&#x2F;&#x2F;punkx.org&#x2F;overflow&#x2F;esp32.html</a>

15 条评论

IshKebab超过 1 年前
Very impressive. Maybe most impressive is that you got your 12 year old daughter to play this!<p>When can I expect the CHERI version? :-D
评论 #37709584 未加载
评论 #37709597 未加载
评论 #37708744 未加载
todd8超过 1 年前
Core War is a game played in a memory arena of a virtual machine supporting a simple simulated assembly language. I first saw it described in a 1984 issue of Scientific American[1]. I had already been programming for 15 years by then and recognized Core War as being inspired by Darwin, an even earlier game developed at Bell Labs.<p>Darwin was created in 1961 and ran on an IBM 7090. In Darwin, programs competed for resources and the winner was the program that reproduced and took over all of the allocated space. It didn&#x27;t last long because an unbeatable program was developed by Robert Morris Sr. See [2].<p><i>Software Practice and Experience</i> was one of my favorite CS journals in the mid-70s and it had a frequent column call <i>Computer Recreations</i> written under the pseudonym Aleph-Null. I enjoyed implementing a number of the games described in that column while in grad school. Unfortunately, <i>Software Practice and Experience</i> is an expensive journal, but university students can likely find it like I did in the university libraries. The issues in the 1970s were easy to read and fun, having articles on subjects like pascal compilers, Algol 68, and concurrent programming. That is where I learned about Module[3,4] and later Oberon[5] in articles by N. Wirth.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Core_War" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Core_War</a><p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Darwin_(programming_game)" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Darwin_(programming_game)</a><p>[3] <a href="https:&#x2F;&#x2F;onlinelibrary.wiley.com&#x2F;doi&#x2F;abs&#x2F;10.1002&#x2F;spe.4380070104" rel="nofollow noreferrer">https:&#x2F;&#x2F;onlinelibrary.wiley.com&#x2F;doi&#x2F;abs&#x2F;10.1002&#x2F;spe.43800701...</a><p>[4] <a href="https:&#x2F;&#x2F;onlinelibrary.wiley.com&#x2F;doi&#x2F;abs&#x2F;10.1002&#x2F;spe.4380070103" rel="nofollow noreferrer">https:&#x2F;&#x2F;onlinelibrary.wiley.com&#x2F;doi&#x2F;abs&#x2F;10.1002&#x2F;spe.43800701...</a><p>[5] <a href="https:&#x2F;&#x2F;onlinelibrary.wiley.com&#x2F;doi&#x2F;abs&#x2F;10.1002&#x2F;spe.4380190905" rel="nofollow noreferrer">https:&#x2F;&#x2F;onlinelibrary.wiley.com&#x2F;doi&#x2F;abs&#x2F;10.1002&#x2F;spe.43801909...</a>
djmips超过 1 年前
I had a friend who loved games but claimed he didn&#x27;t have the mind for coding and yet he was tricked into doing it via the game Human Resource Machine and some of his solutions were better than my own with years of experience!
评论 #37710751 未加载
ilaksh超过 1 年前
Very interesting.<p>I have always felt that short mnemonics are a poor engineering choice for today&#x27;s computer memory sizes.<p>Like, the first thing you have to do here is to learn and recall what the instructions do. If you replace the names with more spelled out versions, it makes it much easier to pick them up and then remember them and read code.<p>The fact that people often don&#x27;t do that makes me suspicious.<p>I also think that the fact that these types of exploits are possible points to overall system design failures.<p>I&#x27;m not saying that it&#x27;s not a fun game or a good way to learn. But I feel that there is too much general acceptance of structural problems in engineering. To the degree that most people don&#x27;t even see those structural flaws.
评论 #37718332 未加载
skeptrune超过 1 年前
Dude, this is awesome! I want to play it at work
teruakohatu超过 1 年前
This looks like a lot of fun. What ages do you think it&#x27;s appropriate for?
评论 #37708000 未加载
corethree超过 1 年前
What I find interesting is how we tend to view the world as a mirror of ourselves.<p>If I&#x27;m interested in buffer overflows and programming than my daughter must be highly interested in it too! How likely is that?<p>First she&#x27;s a kid, second she&#x27;s a girl. The odds are stacked but I see a good number of dads charge forward anyway.<p>To the Dads out there... when you did a project like this was at least some part of you aware that it was more of a vanity project?<p>Anyway. I&#x27;m interested in this stuff so I&#x27;m happy you released it.
评论 #37728740 未加载
评论 #37730901 未加载
sylware超过 1 年前
Once a 64bits risc-v code path is stable, does a good enough job, is rid of its &quot;buffer overflows&quot;... how they are going to do planned obsolesence without C&#x2F;c++ always changing syntaxes?? Poor souls...
anta40超过 1 年前
Wait a second. .. .. A table top board game... which involves assembly coding?<p>Why I never think about this before? :D
musicale超过 1 年前
PL&#x2F;I did some things right: string&#x2F;array bounds checking, stack that grows up rather than down.<p><a href="https:&#x2F;&#x2F;www.acsac.org&#x2F;2002&#x2F;papers&#x2F;classic-multics.pdf" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.acsac.org&#x2F;2002&#x2F;papers&#x2F;classic-multics.pdf</a>
Levitating超过 1 年前
Well I am going to introduce this at my work.
tankenmate超过 1 年前
I&#x27;m surprised no one has mentioned that this is very similar to Core War.[0]<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Core_War" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Core_War</a>
评论 #37709342 未加载
评论 #37713980 未加载
评论 #37712724 未加载
评论 #37705461 未加载
评论 #37707258 未加载
szundi超过 1 年前
Not more rules than a typical german table game of the year has
评论 #37707251 未加载
tomcam超过 1 年前
My favorite HN comment of all time was by cperciva 16 years ago:<p><pre><code> cperciva on July 18, 2007 &quot;Did you win the Putnam?&quot; Yes, I did. </code></pre> But my new favorite announcement is this post:<p><pre><code> I made this game to teach my daughter how buffer overflows work. </code></pre> It just doesn’t get more HN than that. Mad props!
评论 #37713620 未加载
评论 #37710871 未加载
drekipus超过 1 年前
&quot;how we look when we play the game&quot;<p>Are you the pupper or is your daughter the pupper?