7 ms·
I am not the developer but I also looked at that binary to help the project at some point. It's taken straight from OS X 10.8 (more precisely from an Update Co
by dadoum 3y ago
I am not the developer but I also looked at that binary to help the project at some point.
It's taken straight from OS X 10.8 (more precisely from an Update Combo on their download portal). It's calling NACInit, NACKeyEstablishment and NACSign functions from it (which have no entry points but with reverse engineering the offsets have been figured out). They are themselves relying on OS X system functions to get device information. The Python code is using Unicorn to emulate it and patch the calls to those functions to stubs returning pre computed values from a Mac machine (stored in a data.plist file). All clients are using the same machine identifier. IIRC, nobody did get its account locked but if the Apple ID has not been used at all it might fail (it depends on the donor device that generated data.plist, if it's a hackintosh for example it will likely not work).
- viraptor 3y agoIf that becomes a problem and they get enough funding, I'm sure they can spend a few days / weeks reverse engineering the functions they need. At this point it just needs some effort, not some crazy research capabilities.
- ronsor 3y agoGiven that these are cryptography-related functions, I feel like symbolic execution could yield the actual algorithm they use.
- viraptor 3y agoIt's probably not even that hard. If some block looks like a crypto section, you can likely match the relevant constants to the algorithm. It's not like Apple will use some super custom solution there. "Where is the AES and how is the IV generated" is more likely question.
- dadoum 3y agoIt’s already in the works, someone has already made a lot of progress on this front on pypush’ Discord server.
- stefan_ 3y agoThat seems like a problem. Emulating the protocol is okayish-to-gray but having the binary there will just be a straight DMCA. Wonder what the actual app is doing since this is just the PoC.
- WD40ForRust2 3y agoI hope we get to a place where people like this simply generate an OpenPGP key/OpenSSL certificate for a pseudonym and just throw this stuff up on .onion and .i2p domains. A place where DMCA and copyright literally cannot be enforced because it's impossible to.
- Wytwwww 3y agoNot sure how likely is that considering that Beeper is an actual/company startup which seems to have received funding from YC? However, considering that I'd except they'd know better than to just outright take a binary from MacOS and use it in their app (assuming that's actually the case..).
- apitman 3y agoIt's not impossible, just currently not worth the tradeoffs of enforcing. There's nothing stopping governments from passing laws holding IP address owners responsible for the traffic they originate. At that point VPNs and Tor exit nodes will stop allowing illegal activity. VPNs are already moving this direction, no longer supporting port forwarding ie hosting content on bittorent.
- philsnow 3y agoThis reminds me of the near-ish-future "Rainbow's End" by Vernor Vinge, wherein instead of giving out phone numbers or email addresses or screen names (identifiers), people give out opaque GUIDs [0] that act as communication handles with capabilities baked in. So, you could give out one to friends that allows people to open a synchronous voice channel to you, but give out one on your business card that just allows people to send text messages to you. The book doesn't talk about it too much, but presumably these handles could be limited-use (time-based or only granting a capability to send a certain number of messages) and could be revoked. I know it would probably be off-putting to give each person I meet a different GUID for contacting me (kind of like telling them your email address is <their_name>@<my_vanity_domain>), but it might reduce the spam I receive. [0] if you're searching the ebook, they're called "golden enums" in the text