Eltion / Snapchat-SSL-Pinning-Bypass

Bypass Snapchat SSL pinning on Android devices
GNU General Public License v3.0
77 stars 27 forks source link

Snapchat SSL Pinning Bypass

Bypass Snapchat SSL pinning on Android devices.
Supported ABIs: armeabi-v7a, arm64-v8a
Latest version: v12.16.0.28

If you like this project:
"Buy Me A Coffee"

Bitcoin: bc1q6kvvun3cfm5kadesxflntszp8z9lqesra35law
Ethereum: 0x47633Ef59b0F765b7f8047b0A56230cfeBB34027

!! Currently only working with mitmproxy !!

Patched APK (No Root)

Download the latest patched APK:

See all versions

Run using Frida (Requires Root)

This method requires frida-tools and also frida-server running in the device

frida -U -l .\snapchat-ssl-pinning-bypass.js -f com.snapchat.android --no-pause

Patch APK

You can create your own patched APK.

Requirements Linux (Ubuntu):

  1. Install java JRE: sudo apt install default-jre
  2. Install apksigner: sudo apt install apksigner
  3. Install zipalign: sudo apt install zipalign

Note: apksigner and zipalign can also be found in android sdk build-tools

Requirements Windows:

  1. Install java JRE
  2. Download build-tools and unzip
  3. Add unzip folder to path variable

Instructions

  1. Download Snapchat apk file.
  2. Install requirements > pip install -r requirements.txt
  3. Run script > python patch_apk.py -i <input apk> -o <output apk>

After that an patched apk file should be generated.

Intercept network traffic

You can use a tool like mitmproxy to intercept the network.

  1. Install patched APK in the device
  2. Install mitmproxy
  3. Set up proxy for wifi settings or run: adb shell settings put global http_proxy <proxy>

Now you should be able to see the network traffic.

image

View script logs

To view the logcat run:

adb logcat -s "SNAPCHAT_SSL_PINNING_BYPASS:V"

#leftenter