TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Researchers reverse-engineer the Dropbox client: What it means

147 pointsby heyitsnickover 11 years ago

11 comments

wladimirover 11 years ago
How could there have been any doubts that the heavily obfuscated Python could be reverse engineered? Me, and some others, did it quite a while ago. It wasn&#x27;t a lot of work to find the opcode mapping using frequency analysis and a bit of reasoning (ie, mapping against known libraries). Anyone remember dropship? <a href="https://en.wikipedia.org/wiki/Dropship_(software)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Dropship_(software)</a> I wonder if they&#x27;re going to send a takedown request this time too.<p>Oh I see dropship is mentioned in the paper, great :)<p>In any case, interesting that they found some previously unknown security holes this way. This again proves that security through obscurity, at least for client software, doesn&#x27;t work. When will people learn. You <i>can&#x27;t</i> hide anything on the client for the user, at least not for long.
评论 #6288722 未加载
评论 #6288417 未加载
recuterover 11 years ago
<a href="http://neopythonic.blogspot.co.il/2011/06/depth-and-breadth-of-python.html" rel="nofollow">http:&#x2F;&#x2F;neopythonic.blogspot.co.il&#x2F;2011&#x2F;06&#x2F;depth-and-breadth-...</a><p>&quot;The contrast with my visitor the next day couldn&#x27;t be greater. Through a former colleague I got an introduction to Drew Houston, co-founder and CEO of the vastly successful start-up company Dropbox.<p>Python plays an important role in Dropbox&#x27;s success: the Dropbox client, which runs on Windows, Mac and Linux (!), is written in Python. This is key to the portability: everything except the UI is cross-platform. (The UI uses a Python-ObjC bridge on Mac, and wxPython on the other platforms.) Performance has never been a problem -- understanding that a small number of critical pieces were written in C, including a custom memory allocator used for a certain type of objects whose pattern of allocation involves allocating 100,000s of them and then releasing all but a few. <i>Before you jump in to open up the Dropbox distro and learn all about how it works, beware that the source code is not included and the bytecode is obfuscated. Drew&#x27;s no fool. And he laughs at the poor competitors who are using Java.</i>&quot;<p>Sometime after that, Drew poached Guido from Google. I remember this post. :)
评论 #6288968 未加载
评论 #6289954 未加载
groby_bover 11 years ago
I am slightly confused as to why reverse-engineering a client allows you to sidestep two-factor auth. That <i>should</i> be entirely a server-side thing.
评论 #6287498 未加载
评论 #6287270 未加载
seijiover 11 years ago
I always find reverse engineering things made by people amusing. We could just, you know, ask someone.<p>It&#x27;s like when a new iPhone comes out and they throw the custom silicon under electron microscopes. It&#x27;s entertaining, and I&#x27;m sure fun for the people doing it, but fighting information wars against ourselves just seems silly.<p>There are large problems humans don&#x27;t have answers to, but we&#x27;re busy making things then figuring out how the things we made work. Madness ensues.
评论 #6286988 未加载
评论 #6287066 未加载
评论 #6288109 未加载
nanerover 11 years ago
The &quot;expert&quot; analysis was a bit lame. He brings in an expert pen tester who provides a legal opinion?!
lucb1eover 11 years ago
Read the paper. They haven&#x27;t actually found a way to really bypass two-factor authentication and all other security measures. With their findings, you can hijack an account if:<p>- you feel like cracking a 256-bit random value remotely (can&#x27;t locally bruteforce it), or<p>- you have filesystem access.<p>I&#x27;d say both are irrelevant. You can&#x27;t crack 256-bit values locally, let alone if you have to check the value remotely, and with filesystem access I imagine you can do a whole lot more than just uploading files to someone&#x27;s Dropbox.<p>Bypassing two-factor authentication with either of the options is possible though, and I can see the issue, but this is by design. I don&#x27;t think you want to have to enter your credentials (username, password, second factor) every single time you store a file or check for updates.
评论 #6288996 未加载
andrewcookeover 11 years ago
so why does this need to be obfuscated? is it not possible to do this securely and transparently?
评论 #6289921 未加载
arnehormannover 11 years ago
Link to the presentation of the reverse-engineers: <a href="https://www.usenix.org/sites/default/files/conference/protected-files/kholia_woot13_slides.pdf" rel="nofollow">https:&#x2F;&#x2F;www.usenix.org&#x2F;sites&#x2F;default&#x2F;files&#x2F;conference&#x2F;protec...</a>
RachelFover 11 years ago
Does Dropbox not use Amazon S3 as their storage engine anyway? This should have an open API?
评论 #6287048 未加载
评论 #6287351 未加载
ChazDazzleover 11 years ago
<a href="http://pastebin.com/gzF4XkBL" rel="nofollow">http:&#x2F;&#x2F;pastebin.com&#x2F;gzF4XkBL</a><p>Fun find from the source code: There&#x27;s a module named &quot;gandolf.py&quot; which appears to have something to do with version control.
unknownianover 11 years ago
Fun fact: the GNU&#x2F;Linux Dropbox client is licensed under the GPL. I don&#x27;t know if the article was referring to it though.
评论 #6287035 未加载