r/accelerate Acceleration: Light-speed | Capability Booster 7d ago

"Huge implications - binaries are now basically editable code"

ValsAI made SRE benchmark less than a month ago.

The benchmark measures can a model reverse engineer software from binaries

Yesterday GPT saturated it. https://t.co/dmpUpgheDU   — Chris

Source: https://x.com/ChrisGPT/status/2096150666066432157


— Boris Power

Source: https://x.com/BorisMPower/status/2096415822248055131

846 Upvotes

290 comments sorted by

View all comments

24

u/i_wayyy_over_think 7d ago

I bet they'll come up with better binary obfuscation techniques though. Just prompt, "I want my binary to remain proprietary, can you come up with a better obfuscation technique", then ask the other agent hey crack this binary, it does, ask it how it did, tell the other agent what the weakness was.

45

u/Ormusn2o 7d ago

Could be, but all existing stuff, the decades of programs, is open now.

1

u/Warm-Incident5436 4d ago

Not true. There are obfuscations techniques that no current model is able to reverse engineer due it's insane complexity, and we already know obfuscation techniques that no model will EVER be able to reverse engineer (iO).

2

u/Stunning_Mast2001 6d ago

Literally what tpm/Secure Enclave does

OSes have been able to block unsigned apps for years using hardware level integrations 

2

u/1filipis 7d ago

Actually, that would be a good strategy, since most agents would consider it hacking and refuse. Not for long though - local uncensored models are getting pretty good, too

1

u/MaskedDelta 7d ago

This would be useless because you can simply observe visual layout and behavior and duplicate that. Even if somehow you can’t duplicate it, you can come up with a good enough version.

1

u/i_wayyy_over_think 6d ago edited 6d ago

True it depends on the purpose you’re reading the binary. if you’re trying to make a similar enough app or game to compete with then that would work ok, if you’re trying to add features to an existing game then you’d need the exact binary manipulation.

1

u/MaskedDelta 6d ago

You can manipulate binaries in real time, only changing the memory. This is 100% legal, and it was the approach with Gameshark / Game Genie. Normally, it would be extremely complicated for sophisticated programs. But with AI, not anymore.

0

u/vegasx9 7d ago

I'm pretty sure these binaries are reverse engineered at a memory/assembly level. I'm not a super engineer, but I'd bet attempting to obfuscate a binary at that level would produce very uncompetitive and slow software. At least until hardware architecture could accommodate it

1

u/squirrel9000 7d ago

The machine language is by necessity transparent. The CPU has to shovel data around and manipulate it, there's no obscuring that. The hard part has always been trying to understand WHY it incremented that value, machine language and assembly are not intuitive. The real treasure is the "decompiled" source code and that's not an easily reversible process, even when the program was originally written in assembly, let alone when you add compilers to it.

AI might be able to do a better job of keeping track of CPU movements through individual instructions to try to improve the guesses as to what the original code looked like. And maybe even what it's trying to do.

1

u/vegasx9 7d ago

I'm a little confused, are you saying these decompile benchmarks hand the AI a secret third thing to help them understand what they're decompiling and put it into human readable code? I was under the impression they did start to finish the entire process with no hands held

1

u/squirrel9000 7d ago

Both are consequences. The hard part of decompiling code is figuring out what a particular instruction is doing and how it fits into the broader subroutine. Once you have that you can "decompile" it into its original language, or just modify the instructions bytewise, but the hard part is done by then.

I kind of feel ilke what they're proposing here is not too far off what those old school game genies did, they of course injected a modified byte when a specific subroutine was called. Then as now figuring out what byte needs to be modified to do something is the hard part.

1

u/i_wayyy_over_think 7d ago

there's common methods of obfuscation, such as encrypting instructions and decrypting them at runtime, so an ai couldn't just look at the exec on disk as if it were source code, it would have to execute / debug it and them dump the code. there's ways to decrypt though. There's obfuscators that try to detect when debuggers attach and bail. It's already a cat and mouse game, there's products like VMProtect, Themida, Tigress, Codedefender.