<div dir="ltr">Important to keep in mind that you it largely depends on how you define "decompile". If you mean going binary ---> what the developer actually wrote, then no you can't decompile everything. However, if you want to go from binary --> assembly language instructions then that is definitely a possibility. <div>
<br></div><div>Case in point is Android Dalvik files which can easily be disassembled versus iOS Mach-O binaries which are incredibly difficult to even get the low-level assembly language code. Can it be done? Of course. Does that level of obfuscation help from a security standpoint? I think it does demonstrably. Android apps are routinely trojaned and back doored by bad guys and put back into the marketplace. iOS are almost never modified and put back. Part of that is due to app signing, but the level of effort required is ridiculous for commercial malware writers. It also helps with the theft of intellectual property since grabbing source on Android is trivial. </div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 28, 2013 at 10:52 AM, Benjamin Stewart <span dir="ltr"><<a href="mailto:stewartbenjamin@gmail.com" target="_blank">stewartbenjamin@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sadly, I don't have any projects that interesting going at the moment, but I will keep your offer in mind! Maybe we can talk about it when you do your pentesting class. <div>
<br></div><div>When I do write security-related code, though, I always feel a tension between having to somehow keep secrets secret, and feeling like there's an attacker looking over my shoulder at my code, already breaking my secrets as I write it. I'm sure I'm terrible at it, but I do my best. </div>

<div><br></div><div>Seeing this, and similar things I've seen, it seems that many people do almost as badly as I do or worse. That's terrifying! (Well, dropbox was way more obfuscated than anything I've done, but still!) </div>

</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 28, 2013 at 10:13 AM, Stephen Haywood <span dir="ltr"><<a href="mailto:stephen@averagesecurityguy.info" target="_blank">stephen@averagesecurityguy.info</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You have to think through the system from beginning to end and determine the threats to the system and the attack surface of the system. Then you have to implement compensating controls in the system to mitigate (not remove) those threats. The most cost effective method is to reduce the attack surface but sometimes you can't do that.<br>


<br>
Typically, you need someone with experience breaking and building security, to help you think through this stuff. If you have a system in mind, I would be glad to sit down over supper and help you think about the threats, attack surfaces, and compensating controls.<br>


<div><br>
--<br>
Stephen Haywood<br>
Owner, ASG Consulting<br>
CISSP, GSEC, OSCP<br>
<a href="tel:423.305.3700" value="+14233053700" target="_blank">423.305.3700</a><br>
<a href="mailto:stephen@averagesecurityguy.info" target="_blank">stephen@averagesecurityguy.info</a><br>
<br>
<br>
<br>
<br>
</div><div><div>On Aug 28, 2013, at 9:33 AM, Benjamin Stewart <<a href="mailto:stewartbenjamin@gmail.com" target="_blank">stewartbenjamin@gmail.com</a>> wrote:<br>
<br>
> That was my suspicion. So then, when you go on the defensive, what do you<br>
> do? How do you build a system that, even when you can see clearly into it,<br>
> provides reasonable security?<br>
><br>
><br>
> On Wed, Aug 28, 2013 at 9:09 AM, Dave Brockman <<a href="mailto:dave@brockmans.com" target="_blank">dave@brockmans.com</a>> wrote:<br>
><br>
>> -----BEGIN PGP SIGNED MESSAGE-----<br>
>> Hash: SHA1<br>
>><br>
>> On 8/28/2013 8:49 AM, Benjamin Stewart wrote:<br>
>>> Interesting read, thanks for posting!<br>
>>><br>
>>> Question for the security programmer folks: Are there code<br>
>>> obfuscation techniques, for Python or other languages, that<br>
>>> actually work against such a determined attacker, or is this<br>
>>> DropBox client pretty close to "state of the art?"<br>
>><br>
>> Short answer is no.  Given enough time, determination and debugger, at<br>
>> the very least, whatever assembly code your obfuscated code produces<br>
>> can be captured.<br>
>><br>
>>> You can't really just say "don't use Python," because C et al. can<br>
>>> be decompiled, too.<br>
>><br>
>> If it's software, it can be decompiled....<br>
>><br>
>> Regards,<br>
>><br>
>> dtb<br>
>> -----BEGIN PGP SIGNATURE-----<br>
>> Version: GnuPG v2.0.17 (MingW32)<br>
>> Comment: Using GnuPG with Thunderbird - <a href="http://www.enigmail.net/" target="_blank">http://www.enigmail.net/</a><br>
>><br>
>> iQEcBAEBAgAGBQJSHfZ1AAoJEMP+wtEOVbcdWeEH/1IzOSrCIkquTmYrwwz0R3Cx<br>
>> /Sr1EldScLl550JyK/tZrU1h1Teni6ITmBPCa1pTdfQdqRp061GiXYM5r3A6dwU7<br>
>> VO8n6LaLc96uLojSzYzKM943Uj8KQJdn3YxUrrQGa49/FTuiKL1yAJYT0wFnJE4L<br>
>> RBjs4k7wQe+yfnDVd9wPumDRQY0hbfAbDaVvebECsqHYXEfb+5FGDN2V1n7ennJv<br>
>> Su9wJFI0pUwnWz0utBDUINqOOIh9Fe9H3BIGjDwCpwgG3tO1h+dyDmN124meqMAF<br>
>> 6tDCF12PCjrmA12g6Dv2GEAzLQW98uwK0mWPeAYemSIBmtFYHnv1/D2zfwaeecE=<br>
>> =js+H<br>
>> -----END PGP SIGNATURE-----<br>
>> _______________________________________________<br>
>> Chugalug mailing list<br>
>> <a href="mailto:Chugalug@chugalug.org" target="_blank">Chugalug@chugalug.org</a><br>
>> <a href="http://chugalug.org/cgi-bin/mailman/listinfo/chugalug" target="_blank">http://chugalug.org/cgi-bin/mailman/listinfo/chugalug</a><br>
>><br>
><br>
><br>
><br>
> --<br>
><br>
><br>
><br>
>                              Benjamin Stewart<br>
><br>
>                               <o(((><<br>
>> <)))o><br>
> _______________________________________________<br>
> Chugalug mailing list<br>
> <a href="mailto:Chugalug@chugalug.org" target="_blank">Chugalug@chugalug.org</a><br>
> <a href="http://chugalug.org/cgi-bin/mailman/listinfo/chugalug" target="_blank">http://chugalug.org/cgi-bin/mailman/listinfo/chugalug</a><br>
<br>
</div></div><br>_______________________________________________<br>
Chugalug mailing list<br>
<a href="mailto:Chugalug@chugalug.org" target="_blank">Chugalug@chugalug.org</a><br>
<a href="http://chugalug.org/cgi-bin/mailman/listinfo/chugalug" target="_blank">http://chugalug.org/cgi-bin/mailman/listinfo/chugalug</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><br><br><br>                              Benjamin Stewart<br><br>                               <o(((><<br>                               ><)))o>
</div>
</div></div><br>_______________________________________________<br>
Chugalug mailing list<br>
<a href="mailto:Chugalug@chugalug.org">Chugalug@chugalug.org</a><br>
<a href="http://chugalug.org/cgi-bin/mailman/listinfo/chugalug" target="_blank">http://chugalug.org/cgi-bin/mailman/listinfo/chugalug</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Chris Rimondi | <a href="http://twitter.com/crimondi" target="_blank">http://twitter.com/crimondi</a> | <a href="http://securitygrit.com" target="_blank">securitygrit.com</a></div>

</div>