6 ms·
I think the next 10 years or so are going to see a chucklefuck of games reversed thanks to LLMs, which can easily pattern match and operate on contrivedely opti
by tangenter 3mo ago
I think the next 10 years or so are going to see a chucklefuck of games reversed thanks to LLMs, which can easily pattern match and operate on contrivedely optimized assembly and output reasonably accurate C/C++ code. I’m one of many right now using Ghidra + LLM workflow. It’s doing the thing it needs to and I’ve helped several communities revive and port their games this way. It is a huge time saver. While I’d personally prefer an actual source code leak, a working reverse job is good enough, even if it’s partial as long as it’s accurate.
I wonder if we’ll get to a situation where a new game is reversed in the first few months by a team effort. Right now it’s mostly solo devs, but a technical team that’s capable without LLMs is unstoppable with them, and given the nature of modding communities, the only thing they are missing is an LLM to grind away at the details of the game that would otherwise take years to find out.
- dalleh 3mo agoWould you please explain more your Ghidra+LLM workflow? What you are doing and how does the LLM help you? Thanks!
- tonyarkles 3mo agoNot the person you asked but I frequently use Claude (Opus primarily) to reverse engineer embedded hardware. It uses a mix of Ghidra, Radare2, and just the arm-none-* tools. I can’t say I have a particular workflow though, I just say “we’re reverse engineering foo.bin. It’s the firmware for a servomotor. We talk to the servo over RS485 and it seems that if I send it command X it will sometimes silently reject the command. Can you dig into the data reception and command parsing layers to see if there’s an explanation. Let’s keep notes in @20260704-reverse-engineer-foo-motor.qmd” It works great just like that.
- bornfreddy 3mo ago> Let’s keep notes in @20260704-reverse-engineer-foo-motor.qmd Curious - why like this? I usually tell it to write down the analysis once all is clear, so I'm wondering if your approach is better.
- tonyarkles 3mo agoOften it ends up being multi-session for this particular kind of work. We’ll get to a point where I have to go actually test some stuff out with hardware to provide some answers back, or in the case of this servo in particular… I end up having different questions a few days later. These notes files do end up being more of a “how we got here” messy journal and less of a real report but they’re full of useful breadcrumbs that make it quick to pick things back up in a fresh context. Having it write a summary report on a topic based on the raw notes works out pretty good. Another useful thing with these (not RE) is that sometimes I end up starting to debug a problem and I (or Claude) realize that it might be related to a different problem and being able to then cross-reference between the two raw notes files while pulling that thread seems to work well. Whether or not it’s the “right” approach, I overall tend to treat sessions/context as ephemeral and need some kind of more solid WIP artifact. I do work in an industry that tends to trigger safeguards (unmanned/autonomous agricultural aviation) as well, and have occasionally gotten Claude to a point where I can’t get a session to continue but Codex will pick it up and finish.
- gf263 3mo agoI hope we get Skyblivion soon
- tangenter 3mo agoCompletely unrelated but I find it amusing in a good way that Oblivion is recognized more favorably now. I never understood the disregard for it (horse armor nonsense aside), as it has a very compelling, unique atmosphere and a not so terrible storyline/writing.
- brendoelfrendo 3mo agoI think Oblivion's reception was mostly in relation to how people felt about Morrowind. Oblivion simplified a lot of what Morrowind did, which drew some ire. Atmospherically, though, people weren't happy that they moved from Morrowind's much more unique fantasy setting, full of massive fungi and swamp-striding bugs and weird demigods, and moved to a much more generic looking medieval countryside. That said, I also appreciate the game's reassessment, because I think some of the factions quest lines are among the best in the series.
- Auracle 3mo agoTo me, the level scaling just completely annihilates the game. Why even have a leveling system if practically everything just stays leveled with you?
- somenameforme 3mo agoExactly what I was going to say. Oblivion was the first Elder Scrolls game that had level scaling. It's just extremely lazy design that ruins any sense of progress/immersion. In Oblivion/Skyrim there are plenty of mods that remove the scaling, and end up with worlds that are vastly more interesting and immersive. I highly recommend Requiem.
- danielbln 3mo agoI hate hate hate level scaling. I believe they also introduced it to WoW, which ruins the power fantasy of going back to a lower level area and kicking butt, or the fear of venturing in a higher level area and hauling ass out of there. I agree, lazy game design.
- fullstackwife 3mo agoYour take is very interesting, but please do not forget that pirating games is a crime.
- huflungdung 3mo ago[dead]
- onion2k 3mo agoI don't think the "it's piracy to use the code generated by an LLM because it closely resembles the code the LLM was trained on" argument has been fought in court yet.
- swiftcoder 3mo agoReverse engineering and pirating are not the same thing (although the former may certainly be used as a means to achieve the latter). As long as you aren't distributing the game, distributing code that legitimate owners of the game can use to run their game on more platforms is not a crime.
- Quothling 3mo agoIn systems engineering this was proven in court when you have one engineer writing specs and another implementing the "samish" system from those specs, but I'm not sure that would relate to any of the art assets made by the original authors of a game. I'd imagine any art, narrative writing or sound would still be considered IP, and without those things you don't have much of a game. I suspect it won't stop people, and that it won't be much of an issue in a lot of cases. I wouldn't want to be the one to test it in any sort of court though. Not even on the other side of things, where it'll become even more of a nightmare to protect your indie IP on any form of platform which doesn't heavily regulate things.
- charcircuit 3mo ago>distributing code The code is also copyrighted and owning a license for a game does not make you safe from being sued for pirating that game or its code. It's fine in this case only because the engine was open sourced.
- Tiberium 3mo ago10 years is far too pessimistic for this being a routine task, I think 2 years max. As you mentioned, you can already do this today by just giving GPT 5.5/Opus 4.8 an IDA/Ghidra tooling (a CLI or MCP, I have a custom CLI for it). You can start with the LLM going from the string anchors and renaming functions/globals, then when you have enough functions, the LLM can start working on typing - IDA has a very powerful typing API for HexRays-decompiled code, you can even type locals and it all persists in a DB. My custom IDA CLI is just a simple thing on top of IDA Python's integration + ida-domain + some higher-level helpers, and works as a daemon with workers, so a stale/bad request doesn't corrupt an IDA DB (an issue I had when I was using idasql). A bit offtopic, but: do you have any links to your efforts? I'm curious to see what other people do in this area.
- swiftcoder 3mo agoHave you published your IDA CLI anywhere? I'd be interested to see what that looks like
- Tiberium 3mo agoNot yet, unfortunately, but I might in the future. To be honest, it's nothing unique. I got inspired by https://github.com/allthingsida/idasql https://github.com/allthingsida/idasql which I initially used, but it had a lot of bugs, a big codebase size, and IDA's C++ API is really easy to misuse and corrupt a DB, so I had GPT 5.4/5.5 make a new one for itself based on IDA's Python SDK, which is official and doesn't need weird SQL hacks. Then recently I found https://github.com/bkerler/ida_rpc https://github.com/bkerler/ida_rpc which seems to be ~60% the same thing as the one I have, the only big difference is that I do not give any special commands to LLMs, they just have to write Python in scripts/inline heredocs to interact with IDA. This lets them do a lot more interesting things since they get a full programming language. This is an example of how LLMs work with idagent (`ida` is implicitly imported, ida.types, ida.comments is helper's own wrappers): https://paste.debian.net/hidden/cf46a122 https://paste.debian.net/hidden/cf46a122 More interesting example that was used to let the LLM/me track the rename progress for the initial function renames + gaps (code-looking like bytes that weren't inside of functions, IDA's autoanalysis missed some real functions). Although the game turned out to be small enough with only ~1500 real game functions that needed renames, which was done in ~10 hours of agent time total I think (I didn't parallelize with multiple agents). https://paste.debian.net/hidden/bf458b3a https://paste.debian.net/hidden/bf458b3a To be honest, you can probably have an agent vibecode a similar MVP tool to the one I have in about an hour-two :)
- jsiepkes 3mo agoIf you think this port is related to tour point; The source code for Command and Conquer generals (and other C&C games) was released a while back. This port uses that source code. So this port is not based on reverse engineering. The port even states someone else (manually) already did the hard work of porting it to macOS and Linux (so not an LLM): > Built on EA's GPL v3 source release via fbraz3/GeneralsX (which did the heavy lifting of the macOS/Linux port — this fork adds the iOS/iPadOS port and a set of engine fixes
- port11 3mo agoThen the title is incorrect. Generals has been on the macOS App Store for years.
- embedding-shape 3mo ago> Then the title is incorrect. Generals has been on the macOS App Store for years. Neither the HN submission or GitHub repository says it's first or novel though? Just that it's (another) port of it?
- flohofwoe 3mo agoThe HN title makes it sound like Fable did the port from the original code base to macOS and iOS, but this is very wrong (the project's readme does a much better job). It's merely enhanching an existing macOS version to also run on iOS, which tbh is very trivial and not at all impressive for any LLM. The actually important work (of making the original code release portable and then create Linux and macOS ports) had already been done in https://github.com/fbraz3/GeneralsX https://github.com/fbraz3/GeneralsX. There is really not much to see here.
- embedding-shape 3mo ago> > It's merely enhanching an existing macOS version to also run on iOS, which tbh is very trivial and not at all impressive for any LLM. It's so crazy to remember sitting in front of W3Schools after school trying to learn PHP to create a website, and hear people today saying it isn't very impressive a fucking machine can automatically translate/port code from one platform to another, even a machine doing that with PHP3 > PHP4 code back then would have been cool but nope, "not at all impressive" just because things improved so much, so quickly, everyone got quickly used to the status quo. I agree with you in general though, the title does make it sound like more was done than what was done in actuality, as it was just a iOS port. Still, I'd wager it seems interesting enough, given it's on the front page right now.
- pjmlp 3mo agoWe are also going to get shovelware without end. 1983 will seem like nothing by comparison.
- bornfreddy 3mo agoTIL: https://en.wikipedia.org/wiki/Video_game_crash_of_1983 https://en.wikipedia.org/wiki/Video_game_crash_of_1983
- PaulRobinson 3mo agoThe mild alarm for me is that this won't be limited to just games. I've spent almost 30 years building applications for the web. I've been switching my attention to different models of distribution in part because I see a desire for people to not be paying monthly seat subscriptions, but also because it can simplify my own operations - I want to move to a solo indie dev model, and giving you an executable you run means you look after "operations", and I don't. Desktop applications in particular have the potential for you to integrate them with your agent workflows. But if I put effort into building some secret sauce into an application, and there is then a risk that by distributing it, it gets reverse engineered and then rebuilt by competitors, malicious actors, whoever, there is now the same economic risk to software distribution as there is to DRM-free media distribution. As a result, I might just not do it. Now, some people will argue software wants to be free - build on the F/LOSS economic model, this becomes less of an issue - but there isn't really a viable F/LOSS economic model for most developers. Per seat monthly subscriptions with remote access seems like the way we need to be, then...
- tyingq 3mo agoOne area I think is really going to get slaughtered by LLMs are marketplace plugins. Those monthly fee plugins people release for things like Jira, Shopify, Salesforce, etc. There's a subset of those that don't have some backend that's hard to replicate, and asking an LLM to reverse engineer and make your own plugin is trivial.
- xpct 3mo agoI can see it both ways. Paying 5 bucks for an add-on that's reputable and not having to think about it again may be preferable to shipping your own. It's not evident to me that one-shot-esque LLM programs will ever work as expected, since they're limited by the amount you have to specify, and then maintain as new issues arise. It's the type of work that a lot of people will be unwilling to put in. That said, I also think that public reviews will start getting recalibrated by the users themselves. People will start noticing that programs are unreliable or lack features which are seemingly simple to implement with an LLM. The quality of an app may very well depend on how hard it is to replicate, otherwise, why not ship your own?
- nerdsniper 3mo agoI added several quality-of-life features / UX improvements to a very old game, “Deadlock: Planetary Conquest”[0] I had no idea how to do any of this. I let GPT-5.5 download Ghidra + MCP connectors, start the project, and do all the work. I gave it my vision and gave it iterative user testing feedback. Now I have a MUCH more playable UX. O: https://store.steampowered.com/app/328440/Deadlock_Planetary_Conquest/ https://store.steampowered.com/app/328440/Deadlock_Planetary...
- unnamed76ri 3mo agoAre your changes available to download?
- Teever 3mo agoI loved that game. You may me excited to know that there was a song from the developers on the CD: https://www.youtube.com/watch?v=RuV4Oe9n5T0 https://www.youtube.com/watch?v=RuV4Oe9n5T0
- MetaWhirledPeas 3mo agoThe games industry will push us even harder toward streaming everything.
- munksbeer 3mo agoFor what it's worth, I love GeForce Now. I no longer need to maintain a gaming PC, find somewhere to keep it, etc. I was so sceptical that streaming games could work but it does, and it is amazing.