Reverse Engineering Snapchat: Obfuscation Techniques
101–110 of 180 posts
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#102Philosophically I never gave much thought to securing app client code. Why not just track usage stats and ban clearly fake/high throughput users?
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#103This is brilliant work, I'm hoping in part II we get to see it working against the API. I reverse engineered this in a production environment. It took approximately 7 months to build a scalable solution. The investigation on how to create the x-snapchat-client-auth token is brilliant. One day I hope to do a talk on what my old team did to circumvent it. There's a painful gotcha on the homestretch for this token: You…
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#104I’m surprised that no one has mentioned how this is actually accomplished. The answer is: largely automatically, at the compiler level. Snapchat acquired Obfuscator-LLVM and the people behind it in 2017, which was actually partially open source for a period of time. It is a compiler backend for LLVM that obfuscates your code for you. You can read a bit about some of the techniques used on their old wiki: https://gith…
Funny thing about things like that is that you can likely write tools to automatically deobfuscate, if you know the mechanisms. Of course, this takes time and effort, and is beyond most spammers' capabilities.
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#105This is some pretty heavy-duty obfuscation. What is the business case for this amount of work towards preventing reverse-engineering? Decent rate limiting should be much more effective than making such a herculean effort to obfuscate one's API. Edit: another comment mentions that snap chat uses an existing solution, which makes more sense than the expense of developing this sort of obfuscation in-house: https://news.…
This is especially important given that Snapchat is widely used to trade amateur underaged pornography.
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#106Doesn't Snapchat mainly rely upon the iOS or Android platform having some software that prevents screen shots if a 'no screen shots' flag is set? I always thought this was their core defense.
1. Open the Snapchat app for a bit so it is downloaded / cached.
2. Turn on Airplane mode.
3. Screenshot and screen record to your desire.
4. Delete the whole app.
5. Turn off Airplane mode and download the app again.
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#107There may be some money in standing up a datacenter that is filled almost exclusively with smartphones.
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#108Interesting read! I'd love to read the next post, but at least Miniflux can't find any feed. 3eed, would you be open to adding an RSS feed?
Re: Reverse Engineering Snapchat: Obfuscation Techniques
#109Re: Reverse Engineering Snapchat: Obfuscation Techniques
#110Earlier quoted context omitted.
OP here. About half are off the shelf. Joint functions, the breakpoint infinite loop, in-house memmove, the overflowing thing, those I haven’t read about anywhere before.
> the breakpoint infinite loop This is a fairly standard debugging technique. > in-house memmove You sure they didn't just statically link a libc?
Have seen multiple times in CTFs