Skip to content
Protocol primitive

MSSDK decrypt

Decrypt and inspect an external MSSDK binary frame into decoded bytes and JSON.

POSTapi.tikultra.com/v1/crypto/mssdk/decryptPrimitive · 2 credits
Upstreamlocal · MSSDK frame cipher inspectorEvery plan

Parameters

NameTypeDescription
operationrequiredstringMSSDK endpoint operation that produced the frame.
e.g. report
payload_base64requiredstringBase64 MSSDK request or response frame captured from your own device.
e.g. AQAAAMgBAAB7ImFpZCI6MTIzMywic2RrX3ZlcnNpb24iOiJ2MDUuMDMuMDMtb3YtYW5kcm9pZCIsInNjZW5lIjoxMTJ9
osstringandroid or ios.
e.g. android
app_flavourstringWhich app to run as.
e.g. tiktok
app_versionstringA release of that app. Defaults to the current default for (os, app_flavour).
e.g. 47.5.41
device_idstringOptional device ID associated with the capture.
e.g. 7392011847562901234

Pricing

PlanPer callPer 1,000 calls
Starter2 credits$0.23
Growth2 credits$0.16
Scale2 credits$0.12

Response fields

FieldTypeDescription
osstringDecoded os value.
app_flavourstringDecoded app flavour value.
app_versionstringDecoded app version value.
platformstringDecoded platform value.
productstringDecoded product value.
editionstringDecoded edition value.
app_familystringDecoded app family value.
output_base64stringDecoded output base64 value.
output_jsonobjectStructured output json metadata.
output_json.operationstringDecoded operation value.
output_json.aidintegerDecoded aid value.
output_json.sdk_versionstringDecoded sdk version value.
output_json.sceneintegerDecoded scene value.
output_json.device_idstringProvisioned mobile device identifier.
output_json.report_seqintegerDecoded report seq value.

Responses

A 200 returns JSON with stable field names. Every response carries x-credits-cost, x-credits-tier and x-credits-remaining. Errors return a JSON body with a stable code and cost 0 credits. Error codes

import { TikUltra } from 'tikultra'

const client = new TikUltra({ apiKey: process.env.TIKULTRA_KEY })

const res = await client.crypto.mssdkDecrypt({
  operation: 'report',
  payload_base64: 'AQAAAMgBAAB7ImFpZCI6MTIzMywic2RrX3ZlcnNpb24iOiJ2MDUuMDMuMDMtb3YtYW5kcm9pZCIsInNjZW5lIjoxMTJ9',
  os: 'android',
  app_flavour: 'tiktok',
  app_version: '47.5.41',
  device_id: '7392011847562901234',
})
console.log(res.creditsCost, res.data)
{
  "os": "android",
  "app_flavour": "tiktok",
  "app_version": "47.5.41",
  "platform": "android",
  "product": "tiktok",
  "edition": "standard",
  "app_family": "tiktok",
  "output_base64": "eyJvcGVyYXRpb24iOiJyZXBvcnQiLCJhaWQiOjEyMzMsInNka192ZXJzaW9uIjoidjA1LjAzLjAzLW92LWFuZHJvaWQiLCJzY2VuZSI6MTEyLCJkZXZpY2VfaWQiOiI3MzkyMDExODQ3NTYyOTAxMjM0IiwicmVwb3J0X3NlcSI6M30=",
  "output_json": {
    "operation": "report",
    "aid": 1233,
    "sdk_version": "v05.03.03-ov-android",
    "scene": 112,
    "device_id": "7392011847562901234",
    "report_seq": 3,
    "timestamp_sec": 1794440492
  }
}
Try it in the playgroundFull reference in the docs

More in Devices & signing · Signing

Ready to build?

Start with 2,500 free credits and test every public endpoint, then pick a plan.