5 ms·
Makes me wonder if decompilation could eventually become so trivial that everything would become de-facto open source.
by rlili 10mo ago
Makes me wonder if decompilation could eventually become so trivial that everything would become de-facto open source.
- Xmd5a 10mo agoThis deserves a discussion
- ronsor 10mo agoI've used LLMs to help with decompilation since the original release of GPT-4. They're excellent at recognizing the purpose of functions and refactoring IDA or Ghidra pseudo-C into readable code.
- galangalalgol 10mo agoHow does it do on things that were originally written in assembly?
- saagarjha 10mo agoThis is typically easier because the code was written for humans already.
- euroderf 10mo agoSomeone please try this on an original (early 1980s) IBM-PC BIOS.
- stevemk14ebr 10mo agoWe're very far away from this.
- lomase 10mo agoDownvoted by the clankers.
- js8 10mo agoYes, I believe it will. What I predict will happen is that most commercial software will be hosted and provided through "trusted" platforms with limited access, making reverse engineering impossible.
- VikingCoder 10mo agoI wonder when you're never going to run expensive software on your own CPU. It'll either all be in the cloud, so you never run the code... Or it'll be on a chip, in a hermetically sealed usb drive, that you plug in to your computer.
- Aeolun 10mo agoWhen the decompilation like that is trivial, so is recreation without decompilation. It implies the LLM know exactly how thins work.
- jasonjmcghee 10mo agoIt would be "source available", if anything, not "open source". > An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified or shared (with or without modification) under defined terms and conditions. https://en.wikipedia.org/wiki/Open_source https://en.wikipedia.org/wiki/Open_source Companies have been really abusing what open source means- claiming something is "open source" cause they share the code and then having a license that says you can't use any part of it in any way. Similarly if you ever use that software or depending on where you downloaded it from, you might have agreed not to decompile or read the source code. Using that code is a gamble.
- sa1 10mo agoBut clean room reverse engineered code can have its own license, no?
- simonw 10mo agoYeah, I think it can. I'm reminded of the thing in the 80s when Compaq reverse engineered and reimplemented the IBM BIOS by having one team decompile it and write a spec which they handed to a separate team who built a new implementation based on the spec. I expect that for games the more important piece will be the art assets - like how the Quake game engine was open source but you still needed to buy a copy of the game in order to use the textures.
- vunderba 10mo agoIn fact, the story of how Atari tried to circumvent the lockout chip on the original NES is a good example of this. They had gotten surprisingly close to a complete decompilation, but then they tried to request a copy of the source code from the copyright office citing that they needed it as a result of ongoing unrelated litigation with Nintendo. Later on this killed them in court.
- comex 10mo agoIf we're talking about actual clean-room reverse engineering where only the overall design or spec is copied and not the specific code, then yes. In this process, one person would decompile the original and turn it into a human-readable spec, and another person would write their own implementation. But the decompiled code itself is never distributed. That's very different from the decompilation projects being discussed here, which do distribute the decompiled code. These decompilation projects do involve some creative choices, which means that the decompilation would likely be considered a derivative work, containing copyrightable elements from both the authors of the original binary and the authors of the decompilation project. This is similar to a human translation of a literary work. A derivative work does have its own copyright, but distributing a derivative work requires permission from the copyright holders of both the original and the derivative. So a decompilation project technically can set their own license, and thereby add additional restrictions, but they can't overwrite the original license. If there is no original license, the default is that you can't distribute at all.
- DrNosferatu 10mo agoThis day will arrive. And it will be great for retro game preservation. Having more integrated tools and tutorials on this would be awesome.
- tcdent 10mo agoThat's definitely a possible future abstraction and one are about the future of technology I'm excited about. First we get to tackle all of the small ideas and side projects we haven't had time to prioritize. Then, we start taking ownership of all of the software systems that we interact with on a daily basis; hacking in modifications and reverse engineering protocols to suit our needs. Finally our own interaction with software becomes entirely boutique: operating systems, firmware, user interfaces that we have directed ourselves to suit our individual tastes.
- ashoeafoot 10mo ago[dead]
- deleted 10mo ago[deleted]
- johnfn 10mo agoSurely then people start using LLMs to obfuscate compiled source to the point that another LLM can’t deobfuscate it. I imagine it’s always easier to make something messy than clean. Something like a rule of thermodynamics or something :) Though, that’s only for actively developer software. I can imagine a great future where all retro games are now source available.
- tuhgdetzhh 10mo agoBut on the other hand, at the current speed of LLM progression, a game that might have been obfuscated with the help of Opus 4.5 might in two years be decompiled within hours by Opus 6.5.
- anabis 10mo agoWould some sparks fly when easy decompile of MSOffice and Photoshop are available, I wonder.
- jonhohle 10mo agoThat runs into copyright issues. As someone who does a reasonable amount of decompilation, I wouldn’t ever use an LLM. It falls too close to mechanical transformation territory which is not protected, fair use. Obviously others aren’t concerned or don’t live in jurisdictions where that would be an issue.
- TheAceOfHearts 10mo agoIf progress continues, someday it'll be possible to generate the source code for any binary and make a native port to any other platform. Some companies might be upset, but it'll be a huge boon for game and software preservation.
- big-and-small 10mo agoWhile "native" is always questionable it was possible long ago without actually ever having source code. E.g back in 2024 there was ARM port of StarCraft 1 for OpenPandora. Just "dumb" x86 decompilation and then building against Wine for ARM. https://hackaday.com/2014/07/31/playing-starcraft-on-an-arm/ https://hackaday.com/2014/07/31/playing-starcraft-on-an-arm/ https://pyra-handheld.com/boards/threads/starcraft.73844/ https://pyra-handheld.com/boards/threads/starcraft.73844/