I wonder if LLMs are useful in reconstructing a real compilable game that reverse engineers all functions.
No, not in the sense that I want to shove "AI" into everything vibe coding, but that I seems to me that those PDBs are insanely valuable artifacts for data sourcing and doing posttrainings for.
We have all those variable names, and perhaps a little bit of optimization change such as the control flow, and the hard inverse problem of figuring out if likely/unlikely's effect on branch predictor, that means guessing the likely/unlikely without knowing real code on the code generated by compiler and the general feature of the CPU of that era, and sometimes even guessing the compiler version right too, since new versions of compiler may have better optimization down the line.
This I would say is something that even the best compiler wizard can't really do, but LLM is ruthless and reluctant on trying, until they find one.
Of course, things like vtable and structure layouts/paddings is almost impossible to truly reverse. Not even human, even LLM would struggle.
Comments
I wonder if LLMs are useful in reconstructing a real compilable game that reverse engineers all functions.
No, not in the sense that I want to shove "AI" into everything vibe coding, but that I seems to me that those PDBs are insanely valuable artifacts for data sourcing and doing posttrainings for.
We have all those variable names, and perhaps a little bit of optimization change such as the control flow, and the hard inverse problem of figuring out if likely/unlikely's effect on branch predictor, that means guessing the likely/unlikely without knowing real code on the code generated by compiler and the general feature of the CPU of that era, and sometimes even guessing the compiler version right too, since new versions of compiler may have better optimization down the line.
This I would say is something that even the best compiler wizard can't really do, but LLM is ruthless and reluctant on trying, until they find one.
Of course, things like vtable and structure layouts/paddings is almost impossible to truly reverse. Not even human, even LLM would struggle.