[hackerspaces] Post Compiling Binary Obfuscation

astera astera at hackerspaces.org
Fri Jul 10 10:21:53 CEST 2009


Hey Eric,

this note may be redundant already, for Enki's wizardry in this field  
of expertize is extensive.
A packer tool (like Armadillo, for example) is definitely the most  
obvious way to go. However, whether you know when unpacking has  
finished or not while running your application, a debugger will  
definitely tell you, so you could dump the whole decrypted binary out  
of memory...

One combating technique would be to have your app run a debugger at  
all times (where your machine wouldn't allow you to run another  
debugger); or you could have it run inside an x86 emulator.

Though the packer approach might be the most common one, keep in mind  
that - depending on which product you use - anti-virus software might  
throw alarming messages at the user (since this also is the way to go  
when distributing your piece of beloved malware).

Hack on,
/astera

On Jul 10, 2009, at 12:06 AM, Paul Böhm wrote:

> which os? which languages? a few years back (2002) we released the (to
> our knowledge) first ELF binary encrypter (the binary format on a lot
> of unixy OSs). search for teso burneye - but by now there are generic
> unpackers for it. there's a lot more knowledge in the windows world
> about how to do this (packer/unpacking are the keywords and it's
> become an art of its own) - the essential hard part is that you never
> wanna keep the whole binary unencrypted in memory or it can be easily
> (more or less) retrieved from there. if you just wanna fool existing
> tools, you just need to avoid to give indication that the unpacking
> has completed (the program should already be running, and the unpacker
> should just believe it's still the packer that is running). as for
> dynamic languages your best bet is modifying the intermediate
> representation and the interpreter (e.g. the .pyc files for python) -
> possibly protecting the binaries of your own interpreter with the
> binary packing techniques.
>
> enki
>
> On Thu, Jul 9, 2009 at 2:35 PM, Eric Michaud<eric at hackerspaces.org>  
> wrote:
>> Hey Guys and Gals,
>>
>> I had a interesting question posited to me recently at the space  
>> about
>> obfuscating binaries.
>>
>> So the example would be.
>>
>>
>> I have a binary I'm going to distribute. I know it'll eventually get
>> reversed, but what I'm asking is how can I make it take longer  
>> without
>> having to rewrite my code with the intention of obfuscation from the
>> beginning.
>>
>> I'm happy to fill in more if any of you have questions, but I'd  
>> love to hear
>> your thoughts.
>>
>> -E.
>>
>> _______________________________________________
>> Discuss mailing list
>> Discuss at lists.hackerspaces.org
>> http://lists.hackerspaces.org/mailman/listinfo/discuss
>>
>>
> _______________________________________________
> Discuss mailing list
> Discuss at lists.hackerspaces.org
> http://lists.hackerspaces.org/mailman/listinfo/discuss



More information about the Discuss mailing list