Live data from Hacker News

Cracking Meta's Messenger Certificate Pinning on macOS

texts.blog

71–80 of 136 posts

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#71
post #70

Earlier quoted context omitted.

Not the case with asymmetric encryption, you could encrypt with a public key and only the server's private key would be able to decrypt it. Not even the client could.

I think the person you're replying to perhaps meant that if you have total control of the hardware and the binary you can pull the value prior to being sent to the encrypt function.

Fair! In that case, yes you totally have access to the payload before its encrypted.

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#72
post #35

Earlier quoted context omitted.

Pretty sure anything you encrypt client side can be decrypted client side, as long as you have control over the binary and OS/hardware. It's just a matter of effort.

Not the case with asymmetric encryption, you could encrypt with a public key and only the server's private key would be able to decrypt it. Not even the client could.

Asymmetric encryption is very computationally expensive - there's a reason that it's typically only feasible to use for signing a hash or as part of a key exchange to agree upon a shared symmetric key.

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#73
post #25
post #11

I remember the first time I ever cracked an app, I was so convinced I would fail, but it turns out that finding these sorts of easy-to-modify JNE/JEZ spots is easier than it seems. Even if you pick wrong you can just revert to the original file and try a different spot. I imagine this would be something that AI will be able to do easily in an automated fashion, you can literally just try flipping the JEZ/JNZ in a bun…

Not really an AI problem though: that's just fuzzing. If the fail case is well defined then really all you need to do is prune the candidates down. Now if AI could crack something like Denuvo in a 0-shot way...

> Not really an AI problem though: that's just fuzzing

everything is AI these days apparently... even LLMs

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#74
post #50

Seems Meta’s (or at least Messenger’s) RE defense is quite lenient here. Should be trivial for them to drop IsUsingSandbox() from prod builds entirely, that’s before we get into advanced obfuscation techniques.

At least when I worked there, protecting against reverse engineering was never a goal. Cert pinning is to make it harder for an adversary to tamper, not to make it harder for the user to.

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#76
post #11

I remember the first time I ever cracked an app, I was so convinced I would fail, but it turns out that finding these sorts of easy-to-modify JNE/JEZ spots is easier than it seems. Even if you pick wrong you can just revert to the original file and try a different spot. I imagine this would be something that AI will be able to do easily in an automated fashion, you can literally just try flipping the JEZ/JNZ in a bun…

Had tools like that already in the 90s, no AI, just brute force.

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#77

Earlier quoted context omitted.

Not the case with asymmetric encryption, you could encrypt with a public key and only the server's private key would be able to decrypt it. Not even the client could.

Asymmetric encryption is very computationally expensive - there's a reason that it's typically only feasible to use for signing a hash or as part of a key exchange to agree upon a shared symmetric key.

Envelope encryption works for that - client generates a random symmetric key, encrypts the data symmetrically, then asymmetrically encrypts just the key (which is then thrown away on the client). Both the symmetrically encrypted body and asymmetrically encrypted key are sent.

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#78
post #38

Earlier quoted context omitted.

This is always what has screwed with me the most about this AdTech thought experiment: Both likelihoods (listening-in vs astute prediction models) are equally bad; and whoever downplays either as "business as usual" or "humans are predictable", respectively, ought to be called out for it. It's NOT good when you listen to conversations without explicit (or implied, for that matter) consent, just as it's equally NOT go…

My hypothesis is that it's not listening nor is it predicting based on the individual, instead it's reacting to web surfing behaviors of your associates. For example, you and your partner use the same wifi at home a lot, and you both visit a close friend's house and use their wifi every time you're there. Services that you use in both places (e.g. Facebook, Google) now have a graph where there's a very strong link be…

That's still dystopian and STILL exists for the sole purpose of interactions to finalize as a transaction. It's not a good thing.

Re: Cracking Meta's Messenger Certificate Pinning on macOS

#79
post #50

Seems Meta’s (or at least Messenger’s) RE defense is quite lenient here. Should be trivial for them to drop IsUsingSandbox() from prod builds entirely, that’s before we get into advanced obfuscation techniques.

Meta's apps come with entire debug menus in production builds. The string that author found is likely part of such a menu.
Post reply on HN