27-Year-Old EXE Became Python In Minutes. Is AI-Assisted Reverse Engineering Next? (adafruit.com)
(Saturday March 01, 2025 @11:34PM (EditorDavid)
from the party-like-it's-1998 dept.)
- Reference: 0176582541
- News link: https://developers.slashdot.org/story/25/03/01/2211210/27-year-old-exe-became-python-in-minutes-is-ai-assisted-reverse-engineering-next
- Source link: https://blog.adafruit.com/2025/02/27/27-year-old-exe-becomes-python-in-minutes-with-claude-ai-assisted-reverse-engineering/
Adafruit managing director Phillip Torrone (also long-time Slashdot reader [1]ptorrone ) shared [2]an interesting blog post . They'd spotted a [3]Reddit post "detailing how someone took a 27-year-old visual basic EXE file, fed it to Claude 3.7, and watched as it reverse-engineered the program and rewrote it in Python."
> It was an old Visual Basic 4 program they had written in 1997. Running a VB4 exe in 2024 can be a real [4]yak-shaving compatibility nightmare, chasing down outdated DLLs and messy workarounds. So! OP decided to upload the exe to Claude 3.7 with this request:
>
> "Can you tell me how to get this file running? It'd be nice to convert it to Python." >
>
> Claude 3.7 analyzed the binary, extracted the VB 'tokens' (VB is not a fully-machine-code-compiled language which makes this task a lot easier than something from C/C++), identified UI elements, and even extracted sound files. Then, it generated a complete Python equivalent using Pygame. According to the author, the code worked on the first try and the entire process took less than five minutes...
Torrone speculates on what this might mean. "Old business applications and games could be modernized without needing the original source code... Tools like Claude might make decompilation and software archaeology a lot easier: proprietary binaries from dead platforms could get a new life in open-source too."
And maybe Archive.org could even add an LLM "to do this on the fly!"
[1] https://www.slashdot.org/~ptorrone
[2] https://blog.adafruit.com/2025/02/27/27-year-old-exe-becomes-python-in-minutes-with-claude-ai-assisted-reverse-engineering/
[3] https://www.reddit.com/r/ClaudeAI/comments/1iyumpf/i_uploaded_a_27yearold_exe_file_to_claude_37_and/?rdt=40238
[4] https://en.wiktionary.org/wiki/yak_shaving
> It was an old Visual Basic 4 program they had written in 1997. Running a VB4 exe in 2024 can be a real [4]yak-shaving compatibility nightmare, chasing down outdated DLLs and messy workarounds. So! OP decided to upload the exe to Claude 3.7 with this request:
>
> "Can you tell me how to get this file running? It'd be nice to convert it to Python." >
>
> Claude 3.7 analyzed the binary, extracted the VB 'tokens' (VB is not a fully-machine-code-compiled language which makes this task a lot easier than something from C/C++), identified UI elements, and even extracted sound files. Then, it generated a complete Python equivalent using Pygame. According to the author, the code worked on the first try and the entire process took less than five minutes...
Torrone speculates on what this might mean. "Old business applications and games could be modernized without needing the original source code... Tools like Claude might make decompilation and software archaeology a lot easier: proprietary binaries from dead platforms could get a new life in open-source too."
And maybe Archive.org could even add an LLM "to do this on the fly!"
[1] https://www.slashdot.org/~ptorrone
[2] https://blog.adafruit.com/2025/02/27/27-year-old-exe-becomes-python-in-minutes-with-claude-ai-assisted-reverse-engineering/
[3] https://www.reddit.com/r/ClaudeAI/comments/1iyumpf/i_uploaded_a_27yearold_exe_file_to_claude_37_and/?rdt=40238
[4] https://en.wiktionary.org/wiki/yak_shaving
don't believe it (Score:2)
by dfghjk ( 711126 )
"Running a VB4 exe in 2024 can be a real yak-shaving compatibility nightmare, chasing down outdated DLLs and messy workarounds."
If outdated DLLs need to be "chased down", how would an AI know what those DDLs did? And without knowing, how could it generate Python code to provide that function?
"...it generated a complete Python equivalent using Pygame. According to the author, the code worked on the first try and the entire process took less than five minutes..."
Bullshit.
What About Compatibility and Edge Cases? (Score:2)
The program worked in one work environment. What about all the edge cases that the old program was tested for and had to successfully work in before it was published? I doubt that the "new" program was fully tested to ensure that it meets all of the compatibility of the old program.