tangenter
3 hours 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.
Tiberium
an hour ago
10 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
an hour ago
Have you published your IDA CLI anywhere? I'd be interested to see what that looks like
Tiberium
43 minutes ago
Not yet, unfortunately, but I might in the future. To be honest, it's nothing unique. I got inspired by 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 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
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
To be honest, you can probably have an agent vibecode a similar MVP tool to the one I have in about an hour-two :)
dalleh
2 hours ago
Would you please explain more your Ghidra+LLM workflow? What you are doing and how does the LLM help you? Thanks!
tonyarkles
2 hours ago
Not 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.
gf263
3 hours ago
I hope we get Skyblivion soon
tangenter
2 hours ago
Completely 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.
wqaatwt
7 minutes ago
All Bethesda’s game generally suck without mods to a bigger or lesser extent. So it takes a while for a community of enthusiasts to appear but something like Oblivion or Skyrim were a much better experience 5-10 years after release than initially.
Of course then you have Starfield which is so unimaginable uninspiring that nothing can really be done to save it..
Auracle
an hour ago
To me, the level scaling just completely annihilates the game. Why even have a leveling system if practically everything just stays leveled with you?
somenameforme
30 minutes ago
Exactly 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
10 minutes ago
I 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.
brendoelfrendo
2 hours ago
I 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.
fullstackwife
an hour ago
Your take is very interesting, but please do not forget that pirating games is a crime.
wqaatwt
4 minutes ago
Depends on the jurisdiction? However usually it is a civil matter not an actual crime..
onion2k
33 minutes ago
I 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
an hour ago
Reverse 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.