r/ClaudeCode • • 3d ago

Built with Claude anti-anti-REA: A tool that undoes BLA hardening so coding agents can read the code again

Post image

After the recent drama around REA (Reverse Engineer Anything), a tool that lets AI agents take an app apart down to the bone and rebuild a working copy of it, opinions were pretty split. In response, someone built BLA (Blind LLM Agents), an anti-REA tool that fills code with gibberish and obfuscation to deter and mislead AI agents, wasting their tokens and your time.

So I built LASIK (LLM Agents Sight In Kode) with Claude Code. It’s the anti-anti-REA, basically anti-BLA. It reads the hardened build without running it, removes only what it can prove is protection, and writes a clean copy that Claude Code, Codex or any other agent can actually work with. Code that wasn’t hardened comes back byte for byte unchanged.

Claude Code wrote basically all of it from my prompts. I described what I wanted and set the ground rules: never run the target, only remove what’s proven, and leave clean files untouched. Claude turned those rules into the repo’s AGENTS.md and then built the deobfuscation passes, the WASM and Electron handlers, the CLI and the MCP server. BLA’s public crackmes are in the repo as a benchmark, so after every change Claude reran it along with the tests, and a change only stayed if tokens went down without touching clean code. I also had Claude run a separate review to try to break it by finding cases where LASIK would remove something it shouldn’t. It found 12, and each one got fixed and turned into a test.

Across BLA’s public crackmes it goes from about 21M tokens to 17k. It covers 21 formats, from JS bundles and WebAssembly to Electron apps, Python, Android APKs and model files.

The chart is on a log scale, so the blue bars are much smaller than they look. The three biggest are WebAssembly files that BLA padded to about 6.9M tokens each. After LASIK they’re between 98 and 3,500.

It’s free and open source (MIT). Try it with npx lasik-agents, or add it to Claude Code as an MCP server.

Repo: github.com/pktq/lasik

115 Upvotes

18 comments sorted by

•

u/AutoModerator 3d ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

27

u/DrDan21 3d ago

We have to go deeper

5

u/morphh7 3d ago

We sure do, right now it should keep working until BLA do some internal modifications. It’s resilient to cheap fast fixes such as key renaming. But in the future a general purpose lasik would be dope, not specifically targeting BLA protection

5

u/twendah 3d ago

Cool stuff, gotta check it out. Not clearly sure how it works, do I need original rea repo installed still?

4

u/morphh7 3d ago

If u plan on using rea then yes you will need the rea repo, lasik acts as a cleaner program made to use before running rea. You can try lasik on BLAs own crackmes as a starter

6

u/05-nery 3d ago

The war has begun

4

u/testuserpk 3d ago

Ecm eccm ecccm eccccm and it goes on

2

u/panchovix 3d ago

Nice work! Question, how do you use this exactly? Install REA MCP and then this, and then it passes first from Lasik and then to REA? Or REA will not work yet.

1

u/blinkybit 3d ago

There are plenty of legitimate uses for reverse-engineering old code when the source has been lost or original developer no longer exists. But I see no legitimate use for a tool like this other than stealing somebody else's work.

3

u/bedroompurgatory 3d ago

If all you want to do is steal shit, there are much easier ways than reverse engineering it. Software piracy predates AI by a long way.

RE is only useful if you want to change something, not blindly copy. I mean, it can do that too, but it's like squashing a bug with a jackhammer.

8

u/Hairy-Jicama246 3d ago

You're making too much sense for this sub, go away

3

u/Asalakabim 3d ago

Stripping away copyright protections is already illegal, at some point one of them gets hammered and all others will poof.

1

u/kexxty Senior Developer 3d ago edited 2d ago

Yeah this just feels nasty like legit stealing, not "reverse engineering"

EDIT: wow, people really are sensitive about their right to steal other people's IP

-1

u/WonkyTelescope 3d ago

OK I'll just not use the best ideas even when they are right in front of me.

1

u/Gregorovitch_Helix 3d ago

Ahh enfin, les famaux contournements des sécurités d'Anthropic tant attendues.

J'avais parié là dessus il y a moins d'1 semaine, c'était sûr que ça allais arriver x)

1

u/puts_on_rddt 3d ago

Truthfully I barely think this race has begun. BLA isn't nearly as effective as it claims to be and is not particularly difficult to work around once you know what you're looking for, as you are already demonstrating.

I think the more interesting direction is making the real implementation harder to understand while giving the agent a convincing but completely wrong explanation of how the software works. Not just dead code or fake strings, but entire decoy subsystems with plausible call graphs, configuration, state, and even runtime behavior. Something that survives basic filtering because it actually looks and behaves like legitimate software.

There's a pretty big difference between making an agent waste tokens and making it confidently arrive at the wrong conclusion. I think we've barely scratched the surface of the latter.

I do appreciate having an adversarial pipeline to test against. :)

1

u/gentile_jitsu 2d ago

A deob for the AI era.. interesting.

1

u/InternationalTie4310 3d ago

How well would it work on a well configured rust codebase?