Ask HN: Is there any defense against LLM-based reverse engineering?
If this is true, then how can one guard against having their source code essentially unveiled with the correct semantic meaning of the underlying algorithms by someone with an extremely low amount of effort? I bet that using obfuscators would still not be enough.
I'm distinguishing between recreating the source code of your software vs vibe coding an inexact clone without knowing your source code (which is not exactly reverse engineering).
Example: Imagine it would be possible to faithfully recreate the source code of the firmware running on a foreign military device, even with correct semantic meaning of variables, functions and of the whole algorithm. On the other hand, vibe coding a clone would require that you know the underlying algorithm (or at least that you have a high-level idea of how does it work), which you don't have for such device.
Does it mean that companies like Denuvo are now out of business (assuming anything can be reverse engineered with the correct semantic meaning)?
[1] https://news.ycombinator.com/item?id=50028275
7 comments
[ 0.18 ms ] story [ 18.9 ms ] threadTurning a binary into source code that would compile into an identical-to-the-bit binary seems like it would be a copyright violation (caveat: IANAL).
Even an imperfect copy would (again, IANAL) sound to me like a patent law question.
Sounds like you're arguing about the developers of the LLMs?
> Copyright laws didn't even pause the Big AI companies from hoovering up all material to train their systems.
Sure they did. That even came up in some of the court cases which they lost, and then settled out of court.
IANAL, but I've worked with a lot of lawyers in my life on software licenses on technical products and am also currently building a platform (ZeroQuarry) which uses some decompilation/disassembly tools (not for rebuilding source software, but rather to find underlying vulnerabilities).
Tools for reverse engineering have existed for a long time (Ghidra, IDA Pro, cavaj, and a bunch of other language-specific tools), which is why most commercial companies producing non-OSS executables have put in caveats that you can't "reverse engineer or decompile, decrypt, disassemble or otherwise reduce the Software to human-readable form".
Some of these tools and underlying source code/compilation mechanisms required more skill/time than others, and now with AI, just like in software development, multimedia creation and editing, etc, the barrier to entry and the skills needed to produce something have collapsed to the point that many novices can at least "get started" at virtually no cost. A lot of people on the "builder" side have reached for obfuscation to make it more difficult (a suite of tools has been available there for a long time as well), but all that does is raises the cost of decompilation, and that cost is on an exponentially decreasing cost curve: it was never really a viable defense against "advanced" actors: the only defense against them was legal guards.
To me, I think the more interesting legal conundrum we're entering isn't pure decompilation/deobfuscation/disassembly, but rather the "clean room" carve out. Several big tech companies (Compaq vs IBM, NEC vs Intel, etc) have gotten away with using 1 team to decompile a piece of code and then have that team write a spec for a clean-room team to re-implement without looking at the decompiled software. That was deemed legal over several court cases, and now it's effectively trivial as well. Or just have an AI with vision capabilities click every button in a UI, see how they work, build the spec from there, and you don't even need decompilation tools, as we're now seeing with the Adobe suite of products: https://getartcraft.com/apps and many others
I honestly can't think of a real protection for these companies/products except signed/encrypted software at the lowest level, but that only protects companies against non-interactive software (or the non-interactive components). Some people might be old enough to remember that some software used to ship with physical devices that were the physical keys used to allow encrypted software to run. Maybe some of that makes a return?