Live data from Hacker News

The unexpected effectiveness of one-shot decompilation with Claude

blog.chrislewis.au

71–80 of 133 posts

Re: The unexpected effectiveness of one-shot decompilation with Claude

#71
post #12

Makes me wonder if decompilation could eventually become so trivial that everything would become de-facto open source.

Surely 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.

Re: The unexpected effectiveness of one-shot decompilation with Claude

#72
post #45

> The ‘give up after ten attempts’ threshold aims to prevent Claude from wasting tokens when further progress is unlikely. It was only partially successful, as Claude would still sometimes make dozens of attempts. Not what I would have expected from a 'one-shot'. Maybe self-supervised would be a more suitable term?

One shot just means one prompt. What Claude decides to do during that prompt is up to it.

Re: The unexpected effectiveness of one-shot decompilation with Claude

#73
post #46

Earlier quoted context omitted.

Agree with this. I'm a software engineer that has mostly not had to manage memory for most of my career. I asked Opus how hard it would be to port the script extender for Baldurs Gate 3 from Windows to the native Linux Build. It outlined that it would be very difficult for someone without reverse engineering experience, and correctly pointed out they are using different compilers, so it's not a simple mapping exercis…

FWIW most LLMs are pretty terrible at estimating complexity. If you've used Claude Code for any length of time you might be familiar with it's plan "timelines" which always span many days but for medium size projects get implemented in about an hour. I've had CC build semi-complex Tauri, PyQT6, Rust and SvelteKit apps for me without me having ever touched that language. Is the code quality good? Probably not. But all…

Disagree - the timelines are completely reasonable for an actual software project, and that's what the training data is based on, not projects written with LLMs.

Re: The unexpected effectiveness of one-shot decompilation with Claude

#74
post #71
post #12

Makes me wonder if decompilation could eventually become so trivial that everything would become de-facto open source.

Surely 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.

But 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.

Re: The unexpected effectiveness of one-shot decompilation with Claude

#75

Earlier quoted context omitted.

It 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 Companies have been really abusing what open source means- claiming something is…

Open source never meant free to begin with and was never software specific, that’s a colloquialism and I’d love to say “language evolves” in favor of the software community’s use but open source is used in other still similar contexts, specifically legal and public policy ones FOSS specifically means/meant free and open source software, the free and software words are there for a reason so we don’t need another disti…

This is not a space for "language evolves". Open source has very specific definitions and the distinctions there matter for legal purposes https://opensource.org/licenses

Re: The unexpected effectiveness of one-shot decompilation with Claude

#76

Earlier quoted context omitted.

Open source never meant free to begin with and was never software specific, that’s a colloquialism and I’d love to say “language evolves” in favor of the software community’s use but open source is used in other still similar contexts, specifically legal and public policy ones FOSS specifically means/meant free and open source software, the free and software words are there for a reason so we don’t need another disti…

This is not a space for "language evolves". Open source has very specific definitions and the distinctions there matter for legal purposes https://opensource.org/licenses

the software community is the one trying to evolve the language in favor of this software license specific use case

Re: The unexpected effectiveness of one-shot decompilation with Claude

#77

If you aren't using LLMs for your reverse engineering tasks, you're missing out, big time. Claude kicks ass. It's good at cleaning up decompiled code, at figuring out what functions do, at uncovering weird assembly tricks and more.

The article is a useful resource for setting up automated flows, and Claude is great at assembly. Codex less so, Gemini is also good at assembly. Gemini will happily hand roll x86_64 bytecode. Codex appears optimized for more "mainstream" dev tasks, and excels at that. If only Gemini had a great agent...

Is Gemini CLI not a good agent?

Re: The unexpected effectiveness of one-shot decompilation with Claude

#79
post #50

Earlier quoted context omitted.

Documentation is one place where humans should have input. If an LLM can generate documentation, why would I want you to generate it when I can do so myself (probably with a better, newer model)?

Because it takes time and effort to write documentation. If people __can__ actually read undocumented code with the help of LLMs, why do you need human-written documentation really?

Docs are a form of error correcting coding for code. Docs+code allows you to spot discrepancies and ask which one is the intended behavior.

Re: The unexpected effectiveness of one-shot decompilation with Claude

#80
post #70

Earlier quoted context omitted.

It 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 Companies have been really abusing what open source means- claiming something is…

So instead of reverse engineering.. an llm/agent/whatever could simply produce custom apps for everyone, simply implementing the features an individual might want. A more viable path?

[dead]
Post reply on HN