notaudren
Newbie
- Feb 29, 2024
- 3
- 4
Reversing Snapchat, Part 0
This is the first post of a series. I'm going to log the wholehe private API all the way down to the last piece I'm still
Alright. For months my machine hasn't really done anything else. People keep asking if I'm just talking, so before I start dropping the details piece by piece, here's the honest state of where I actually am.
The internal API. Done.
I talk to Snapchat's private endpoints directly, app closed. Send snaps, send chat messages, post stories, straight to their servers. The small stuff that makes it read like a real client is there too: markRead, the typing indicator firing exactly when I want it, My AI rerouted through my own backend. The cupidbot / builtin runs on top of that. Basically whatever the app does, I do without it.
Auth and tokens. Done.
This was the real wall at the start. Login, refresh, get token, the three flows, all reproduced outside the app. And the thing that locks the whole system down: Snapchat's Argos anti-abuse layer and its X-Snapchat-ATT-Token header. I got far enough to sign it myself, headless, no device, in several modes. The server accepts an attestation I generate offline and mints a real token back. Reproducible, not a one-off fluke.
Register. 90% there.
I have everything for it. The only thing between me and clean, repeatable creation is Apple, not Snap. It's DeviceCheck. I've burned an absurd amount of time understanding how that token is actually built on the device, what it carries, and what gets verified and where. What I'll say for now: it's rooted way deeper in the silicon than most people writing about it realize, and most of the "methods" going around are hitting the wrong layer entirely. I've got results. Keeping them for now.
In fact I could use web snapchat creation which is easier but it's not as sexy as iOS one, with devicecheck to boost as much as possible account's trust score.
By the way i'm working with an iPhone 8 on 16.7.16 Dopamine 2 roothide. My Snapchat API is on the latest version actually 14.13.0.53.
Lot of informations don't want to go to deep for the first post but you can ask me some questions i'll be glad to answer as i feel knowing more snapchat api than me.
I'm not fluent english so excuse me for my language mistakes.
The dashboard. In progress.
This is the actual project. The reverse is just the foundation under it. The idea is the full iOS stack sitting behind a single account-management API: you drive your account, your tokens, your actions from one place and never open Snapchat. That's what I'm finishing.
So here's where that puts me:
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO------ ~87%
~87%. What's left is wrapping the dashboard and landing a clean DeviceCheck. That last 13% is the hard 13%, but I'm on it.
This is Part 0. Next posts I go deeper on the individual pieces. Follow along. Will show you some cool stuff, not here to just blabla and show nothing. Stay safe <3
This is the first post of a series. I'm going to log the wholehe private API all the way down to the last piece I'm still
Alright. For months my machine hasn't really done anything else. People keep asking if I'm just talking, so before I start dropping the details piece by piece, here's the honest state of where I actually am.
The internal API. Done.
I talk to Snapchat's private endpoints directly, app closed. Send snaps, send chat messages, post stories, straight to their servers. The small stuff that makes it read like a real client is there too: markRead, the typing indicator firing exactly when I want it, My AI rerouted through my own backend. The cupidbot / builtin runs on top of that. Basically whatever the app does, I do without it.
Auth and tokens. Done.
This was the real wall at the start. Login, refresh, get token, the three flows, all reproduced outside the app. And the thing that locks the whole system down: Snapchat's Argos anti-abuse layer and its X-Snapchat-ATT-Token header. I got far enough to sign it myself, headless, no device, in several modes. The server accepts an attestation I generate offline and mints a real token back. Reproducible, not a one-off fluke.
Register. 90% there.
I have everything for it. The only thing between me and clean, repeatable creation is Apple, not Snap. It's DeviceCheck. I've burned an absurd amount of time understanding how that token is actually built on the device, what it carries, and what gets verified and where. What I'll say for now: it's rooted way deeper in the silicon than most people writing about it realize, and most of the "methods" going around are hitting the wrong layer entirely. I've got results. Keeping them for now.
In fact I could use web snapchat creation which is easier but it's not as sexy as iOS one, with devicecheck to boost as much as possible account's trust score.
By the way i'm working with an iPhone 8 on 16.7.16 Dopamine 2 roothide. My Snapchat API is on the latest version actually 14.13.0.53.
Lot of informations don't want to go to deep for the first post but you can ask me some questions i'll be glad to answer as i feel knowing more snapchat api than me.
I'm not fluent english so excuse me for my language mistakes.
The dashboard. In progress.
This is the actual project. The reverse is just the foundation under it. The idea is the full iOS stack sitting behind a single account-management API: you drive your account, your tokens, your actions from one place and never open Snapchat. That's what I'm finishing.
So here's where that puts me:
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO------ ~87%
~87%. What's left is wrapping the dashboard and landing a clean DeviceCheck. That last 13% is the hard 13%, but I'm on it.
This is Part 0. Next posts I go deeper on the individual pieces. Follow along. Will show you some cool stuff, not here to just blabla and show nothing. Stay safe <3