Flag: Tornado! Hurricane!

 Forums >>  Brainstorms - General  >>  Should binaries be non-reversable?

Topic created on: March 22, 2014 13:42 CDT by Miryafa .

I just found out about RCE today. Although I've heard of reverse engineering, I hadn't thought of it as a decryption process before. That made me think: should compilation be like an encryption function or cryptographic hash function, i.e. should it take in code and produce a pseudorandom binary?

It might help protect "trade secrets" (if code can be considered a trade secret).

On the other hand, should it be completely reversable, as a pseudorandom binary would serve no purpose other than obscuring the code (as far as I can tell). It doesn't protect from exploitation (because that would be security through obscurity).

What are your thoughts?

  Kolisar     March 31, 2014 10:26.59 CDT
I think that is an interesting idea, but there are a number to technological obstacles that would have to be overcome first:

The main issue is that the code has to be in a format that the CPU (at the lowest level) or OS can understand. Since a hash function is one-way, returning the code to a state that could be executed would not be possible.

Encryption, on the other hand, could be possible. But, for that to work, and to make reverse engineering more difficult, you would need an asymmetric encryption with the private key being either built into the CPU or encoded into the OS. Either of which would certainly make static analysis of the executable more difficult, that is of course until someone discovers the decryption key and leaks it on the internet (remember the DVD and Blue-Ray key leaks?).

I do like the idea though, and I certainly will give it more thought.

Note: Registration is required to post to the forums.

There are 31,310 total registered users.


Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
hi!
Jul/01
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n


Recent Blog Entries
halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

oleavr
Jun/25
Build a debugger in 5 minutes

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit