← 全部文章
逆向加密分析抓包

某视频 App 接口与加密逻辑分析

约 12 分钟SIKUAI

脱敏说明:目标站点域名与接口密钥已脱敏,仅保留分析方法与流程。

抓包

工具

reqable协同

相关接口

列表(非金币)

请求

curl -X GET 'https://api-target-01.example.com/label/video/search?k&goled=0&union=-1' -H 'User-Agent: okhttp/4.11.0' -H 'Accept-Encoding: gzip' -H 'page: 1' -H 'size: 20' -H 'content-type: application/json' -H 'app-version: 2.0.1' -H 'version-code: 1' -H 'vversion: 201' -H 'vos: ANDROID' -H 'app-name: UL' -H 'device-modal: OPPO' -H 'vtime: 1733643076782' -H 'vsd: 0' -H 'vtoken: nVdapBhT2e5HjzbkO2r4MqJTHhNk2ND2Psjip/mAzByPeKRh2LgBYVfm9+3ONtu7s2ZTSGNmPFk1wIAV8/tKJqlS5fyjOnJLHVM55qFrG18OWspGo8UMM4LbxTMwKS1N' -H 'vke: REDACTED' -H 'device-uniq: REDACTED' -H 'os: android' -H 'package-name: com.play.app' -H 'os-version: 11' -H 'kk-code: REDACTED' -H 'client-time: 1733643076782' -H 'rand-str: 146513ac01333bda8e8d04a51772ea7c17336430767825463662988' --http2

携带参数可以得到一些信息

  • k 筛选tag,全部时为空,指定分类为分类编号(如t7,t8)
  • goled 非金币为0,金币为-1
  • union 排序方式。最新为1,最热为0,综合为-1
    所以请求时设置参数为k&goled=0&union=-1可以获取全部的视频

响应

{
  "code": 1,
  "data": "WKZOL3fadDaePawFAaLQyRcAg95W3S9JhKHuQQ9Km0a67pfGoKOLmpJOCk4/Z8tqZU9eAEfj0YeHDAJgflsIxTXN3t/lHeESnGYFF+NTDqMrM150sYiQFR3ONs81jfZu3cqjLhho30yDv0U5XUD/CZv4ZbPXauZLpsT6H6ggVzE9VmVfC33bGGs3S/4mjN4pkMm9XjU+jViflQq7uiFoB7iygFdcTPIfGXZJ4aaSg2Jc6SSrsEnNxGHr+OJ2Mt5Z/E6b7ILm96PlF7E7vegk49JcSCAhkUV4bIjcNEmfLo3aJgQyeEgNXluDiOERg6YwNCCQjyfxYMhLMR/dEXIs+YBYSqaNdt2CIHU8QH2/fu5IkO3YFimHKrVGhv+T3Y0OEoHa4UU1H46A0EXcatttRkwRAvf5q0x2vGNsnUzfw15MaDlVGMnFYu4qWuB7zm5AOJ9Drm5I1VzRqbgRLPUErhzGPGbQkAzKW6eeo2H/3hWKLRWX/MjT1KhABlHvFCA/q/pBKBDPdH/DPiiM5PwyjUWmvBaTxR4j5nqQzKjvZSREg/JfUlgqgYrkcjXQY9afE/BrcqxVsoF+W+JnEBj2/60VMZ5Q7gI7W5S7EyzjV77Zho0lU+dIY0D9n3JS+zi53V/RPrt+/NoJSQTZXk2LeCvd9QmNPxI3GL8qDxaL2N/fQJN24gnWdSRzXjVepdQ0B7padAU87FSrahrG3SMSpGwr+I4g3Cz0+z0qIQVdcLcfYepWg1+RNRq6tCUnmQEQ0mCEX3SocNtjY3yCqvCog//MAMaaHH7jKr4fH76C6fU0oE9JQqjM+gjNMXIJ9bqChSXOwVLo8R8LC/6NrmIlabar+tOksoYY0QzO9EE88wQzn98DH+2/ZciAS76y7czVI4otLHE7Jo24cgrh3ZO9gTKKbtwc/Rq1eGDnEWbmUjCTPxB+le+u2MyMkL4/horfv5fe5xMh8JcXQaVhwh1FaAutYCPzdIJzrX6nyXwwYySCRhp1Df86GMSYFsnv+ln2xYLc/V0BxnDh9qPJcE1YkfU8M6X/06wtfQIpjRZF1rm9kLsJ2oGTZoL+hbuGisls7sUNzEjmmSh0lJw1yOZAhlyI4oQbAeZH9T2BKIE4MXGkH4/xLCocLqeGJi+5Mtr44Qk3JgGeozD3v9edVus+5YH+j/kFmJC9wn2XFdB4uBxh5nkAjZ1U72N5tfhp2FyoBAgmv5wHEpkgADyoPLFy81WsDlGY2ttyjEKasfjGVDtxth2IJ8QT2FSPtfRrvaUnlSRnCn4sX+/vmK2VuGbUQmpkGs0hrhVjAtgggEFt71DNvS/hpcgE2v0EjB+3YnSjhV4MfuR4Z/q/xfF+RMxnF52VMgdzLvtABVVKUhODdPi32NTgx+5K8cHxidAEJBkQFLX+CC41AJ1bSMwFfOIPLLQiIjRpa7vu9OpiCLec8t1bXRMiWJCSZDO6ma5oJQ+B7SA9q34u3GDsfayCQvKhbudzwJi7L8CKBQ5lbgkm6ePIfPNjWT73mK6xMpuqv51DDbVhQxcelJDU07XkfkmoZjwaQ5d9prVvpL9cJ0ArMeePD6E2daMqEVryBxFxTWu/K/jFafcFmq+auM5E31x0/zhArxTuOUKC3V1w4GsXrzPbHrYnvyPBwhpDw9GSFJ3exgRasK/+CxzUWcdlkNj8XYsL3JPPzMlgU/O34gLkqTFmTxDd9MSbpnokuGTyl5Tg0GK8Lq8H8wyh4rlHA4zZejcUG0/uRKwTeR1Nx24GuGVNNG8RJrDCXw6a2wEaAEf9/+6q3jg+edmRBc7UCCom7HDAvG2AMpEb3ioIWQcY3uC9yCvPgz0GsIR8JoQZjW62l4zLGKddcOfWHp2NmiOp3lKeTNtCIbN2noG2lG+95E9djoXHD7Y8SuaVVPhN7UEuyZn1HvWSrhcOKti5GuycXjX0lxrm2g969qg1RsldK++TIV8e8RSd+2iHeB0BND+34zqTbJlgZ8ujiB24KYB5PvVyh4S+2x//IqeKIGz2MgNUK8t26mOUueiKaJL7tS8VOBqZcNEMNP73NEiqmHJKIfxM50OYbWeHztoHJxbmKo+lkS3y2eHYGfqpuHxYE15DcLoWOcDx+lQBu7KS/yv8z3NttqIxwPHU2D8LRHW2FoTaU6Bk6hENT39NDTWvvZwyLLMSbtOd8Td/9REUL1fJ9aLMYoQVqYl01kF53c/LSbTI17g6rAAACX1DlsYKOGnJu7kblGrSc/i3B7zQLZnGYgVsyRMB8IMO9eD/gu8tsfpE8cdrwSZLGDMMzrj3yaBrD+SBi5MWlJqi1OFEnkPnjZh9nbZuHPCz36Tl53hiq35YiJ3hd8oAsou694WVRnFsKvtSFVlyeeL7VpUcnKuokDwFZaY8cKLZuBbnLYX73iuIi+GLnpiaFlU1lrXWDxd92yH+5+z86Pn5h8rw+Mf/qjRsllpIT1L5TeK9wj8LHRejyIlHiH5hyRzVCWNTWcHKhr3G11xrYMuUm/CC6Hz7iaydov447PLfeTfBFzjEjAa1qbztoQZMohpWr6ZOq+Ux2TpT2miV9vrW8tYMgmuoGEsV645SlwebjMx6mKG/JzbN/SMPSKmibJ7ipVufRcH35avi3rEHJP9r+Ywp0iXbtRaskLP4eTE95WjoRwS0JCopXPZYopyE0seDrhFGVHDDnmbxOcoSLPaCmApkzwFq20asANgxfRkyMD+pLpmnuhk4o9kwqwS7KdcdMyReYJXZMdPa2HrAPVjsUbKrdUb4bF6sHwUBnHURJc+jbUJ3vQu/PeWPeRpE8DR2UagwztjIKxCPstw6KC/U2zagBMyfmt14KKF4QyAikNrCgRFtG4Swl2nLp0vl5+1jFwr/9qnYq1EE2+mnoOubVt2AVHhP101QA573a3qi3BWFkm1FbOusdTMOfkH8/WEhkwn3KLpB3eMBxai5jd7MI0sVD7WZLuP60BMFWFfMPr70AbokzJie0SLM+xP2iNkDU0rOq+w7fcIh674SVe4KG8qYg0jfynX7pFx+xM/EzBZDhm2DQpqTF6n2Qt6mUMy8cNb7P4rmfVRbseBeFxwDDASKR+oYEJY9unRNymQ+8Z8GypFhJS+MEfKNde1lchrambrZQybl3bHahBS77hde+PFsBBPPp+wP8GOs5wnnJCp+OrLk2vvk4rdyZOM/1jRKmVo1gt2n2W/1lsIhWldXclpYiNqSvtn/bhINp1iXLIvn7ijfJE1ejPi1mQ9PzQGS3gOgflnNWiD4bTQNHhveSJCytnqmqLPZXaMXuhNjFO55lQqaCHw1nmdNhAVY/aSQN0lfg88iI1sUiQeJ38SGO0Czd68HO5QvvkziE8trCqrfLm9nEJqRZ5rjhpCZ8yiBcHVEfFV/A7AOVLtCXPtwNSEVcmLV2gfivt3cl522q7wpsMiUJgiyAdMCBR9FM4DLRstw/+gUPogzojOqrjoBQTNbe7Hb+T9GOWYOqf3fvGoZOvlEotKJUc5rynA2XFHAG7V9Cc5ct8JPG0XuGiCxD/6bVDdgDVlWszgxsMxksWN/MdyWdnD0q0iOxocibxNtxm4/zMwk4SSiVwld8sPcXBXlJggcKCg5XAGV6vGgtcHhNd2BG4tSZ5PEztXcrmW61DxwBPbzd+1awUJjMlyfG+P/H4xIk1qvTiU+UHB7T99FMNa09WNUGEJPSUwYZMozR6UG+opOEzCgXO3kpQ64r/khTVcmfioPFpQwkkRndUiK2vtbj50ErAAyRHenTK6UqGAwZHpJvA2ljk7ups9TDK75zthi5XQ9VhTTwhs5XuDAmtQ1zqCSM1ub3i056cmOBC79/1IpWudzklCS6pv9WRVF8C6fNzgTCVLOszRbea/hOAQT5ei9tP3GasdUWUgL8JgudXEhhZrjPCrwvJRzfC2/hpHmMfn6qeorbooBoF5dvC+DFpdo2dhM7u4tSJC/Lf6Z72bImbXRczyL+oYKZbNfbjfYdZVeZECC7/jr5Pwnru+V0Wx/0rwX2dXGiUKrC0Gx8I2tuOm7cBENBLvmKTcN5HDrub1qSMXZPmlpzSQjpsW9vLJWG3/gj11430u5O4YftbyFRFDj9jhJHzWnrBvnA3+cxebCnlOqoTiWOlk1Hi7Dul13QOrUR+u4D2dnSM0IEhnM8oRuIP5pwOqp0aIyyWhqExXCfmoDsjPIbi30S/Zja1ik2+cPT4ramMlLCQqxP/Iwrn2GDRht0ODiR2rGvWpDlU1Q8wMc9XrS3ur36xWLNbyW4bs9W3dpIgOzg+M0QUK5NZFo8Eq064LTkRbVURWGxiUYj5vqQODStIWUFGCqw8TT4C8j+Zvdq1KwreQw/pX/ZDAUCHwyEK/vCRWP+WTz63v4QAN6fJXFt+hz4IEC4NtVomj66LbqbGWPDeACSrkD7ThjcWOHTMAx06wKbPOV3Zn1o5EiyIHoorCkiCUVWc5qmzqLLz+MDLjTCI5iHuA+9N1h1Qu7OX4onnC5QLZTMhdtyzcsSiGSePnDV5sZwNTsNotMnRqgVQqR0SpDiWQXF+ioP/HdNf+v9Cql7KS4wUjQtg7b24to7GGBsjvRfNpCr4edaPXksDqbZGro14rbm540Yine5UXBLex1MFTp26WbC0sQFM39TPUdR2H0din+ZlN3S4u0nlhFtFIq3RAfPeVrojW09XC/Vq7tO0quHkvFrLEv5+oGFAXR73GebSVYICizQevlQUjLb03SbWt2KnNv/EnObniqM1yvmURRnIiLF3hSpxAcm3CRIC4qV9p+e2TztFsmS9OzeSGUVF5R53Eki92xZVSNsfFfCpBLk91CnOLZrSXf9pYCewGCDrJf11/OQhOwcB9x238LxLcMqv6zXH8laqt1vI6VUuoZyDHEZcXsghx5id63X/LFTqwfVL7iJpdezvQ/c2OJd1pTydkNBrYNSWrnSCSNhxWmZV9ARpELfz527EBYl12szIVwLdhPdAswocmYqACNdSYO2hBGaXzNWCytqToQYCRmY89uXRa08Qy8xWvvwzQDpaFwaoO+jwZTIaq5W0c4FAWmxF/kgT+1+mm39IM7KpWsG0FVqCMkl6KfVZMaTEF3so1gsfzDXa2wGyjqZlIcXD4QzwppxXr1rQiFuvpv7Dc2ETyRtbrJGiASNAIC5KHnAQjSR/m95i4DK4lG2vZRCpUByehmpjmxzgSawwOM2iOMRSLPjQeIRYsZvPihZhBpCYeKIQrY/kS6MyUWIED9mMortdNhEMM+orDyN9DTJTffYTMePaDTTPni3yr3ZDUwFXKZgKswjlSyApQqD9N056+Xg/BIFIB1N/inwF9sbKzRIMQ7wQTq673yJ7cMh5e+Zx9p5GERsq8I3Z868UJYgpsHz+n3qgaxyJW6EJboAcjV88z1AHQkMrD9d5NaGJPS/+vnXl5jHqZJ3u8Hood9w9Ip9LKOUlIhno4CWmVld6G+iJY8HMo7oMzdnjEkCV3NhTu/LbBjUI2k+YF3SPABCmiHHDs8Cr+e+PosWWPHNe0GN2sK09aRF0IU6yeo2hkcNG7PUxknGYkwuMe510CreNMpHlkJnEP6wwGhjCw3vuVxfBbzfatsXM7zv+kaMTmSYGEiYnPy66X1jPvKZSbshZ9+G5aWluskZsiaRzfarhTNL22z6mD9SiKHqk6JE2+KQIubQKGS+zra1LYpl8fTfDqoBI5HR6AWnn/JU4kqkJHe8IfESoorCU3E/kbC4glwk6ya3kLQekjW+5jecXuzx8xpiHnwRxRiila20UlrJ5nfBkjZ3144hjhj/fw784T84Qk+ZGXNt7r9Y28xHT2/7TOxQc4R5PojQEw23n++1KeCkBgmE9NL9YO2H3o4aC+ZblCHg9yyeXP7twr0iqrA19IUff6ozATxsEu+9SVqcwnITZK5QfBz+GtTgwQxtuMJG1qqWNI4bt2VK04Rhefn/wMlQTw6s5+QhkatfDJ0YlgnCzGXhrgpkeW60X43+JRAFqHFbdo9R6EbG+PLKvS7xJxGhVlCR4HZbOKyYNOXIeb2TjR+k/OOiLzt7LWUqKuIoBfH10CY8B8BDiDK1Im/SAUKRzoFcNDebyz5SLzEFpCwQFf7C27bBRabicKXjLq6SyZnhuiYcI6F8DeZOTGy65DAQnJcS49vuOr0UxdUEpwa8Fsx3MlD5Bw6wbE8RpL7H4BSXKQmkAjTPNO6PVaschZyy6zlZd1ik9Oa1mctQ7WEH9NgCZeNulsuzshyahLuvjAlVIjbBt3jpv6mhjqnuwXQOL9fpYGMIdl87fpojMbOldiwfMo3xOqEpSGGXWJawgmF3UVR5ZDdhQIwPRkDuevofhwOIdShos/hIgwE3vJYZ3K90/9x/+CeFLbz0ZxnnBA01CQSdg/9FKE28hbdj4/Crw+6oNQept6cxm4HcbQW0GFUsp850xR7BIWGnzG6XTXKk5HgSXbBz6ioug/6gtZav11W2YWdmDQ9YMOgIxuPa595qgLy5Cfer32kfeNN8Rca1KfdWNLNkzSXvcD2cJ00Fl9NzUKE2tph74SQBDi+R0v5lO7o+7sT5aiBU1ITog0ytPUkyvhXtOz+QgOOjClvbcDPRwtalk7RXcp/RmFSs4lfem4N4krAOQKCHf8FZLlTTyFUtXqBFsuOPkiLe3QyW8HnVDLGbVgPT3vJMDXMutjzGOyhFOa0p/eZPCNV8u7/DN9D5GYb/CIYlmkS1QsfvwN0sP/NESYiZkAA07h/UMw4qHNo+q33fETvE64TBlfQUepMeed0BmzP/qeoBS6re0TnZ6NcSZZmHkeAHDn+lzo/waTtvrtq7SIODlXbksHS+gdVqjt7BtWAOW4G/yleKgSOhJFoL7e/qKOiJZ2+jNNeuJIc7moIp6wwulhPVN3dd0C1MiKI4rIIGKP0ad3b11sSAEuixTwyYn5Sm8ZceX+NWQGyuhWMiaB2XhO84gpKqv/vtvvOfdUhSDrph0UmNmfbosjZFoQq0pTvs/gsUXKk9GHAR5f7MhWtu4acYx7DCXg8f2ZbfCYenb+kKyrVODtJqNsCaO0XlA4Yuyb4ZsGKryiU6WF99O8punvB4PSpWc7wrRNyhfADy8h01jdygXVHLK1JgsRpClVUN6kj6oJOyHPKc16RhFqEqQrxfK3LZjqNF6hBIezHJCCi0KuYZkcb3XJSf4lXMhbAIjsE657XWWRCQDMafV+Vt6MaI8gLpQFPWKGk3M2CDRlTVf5WasX1dq5KFKnr8uyevjarrgtFbISNNWXNyYudWaom/McSWvIvw4NAZqMJYz9snBMYvrZ2jnBx2aPGX7L0GL/elauT6O0b28N77qHb1V2hJov4MgpLeZQLTpd6c/bLgPk/xecoGJGAU0UElR/v3NfNYAIAMGMimfu21oyqF8YTPvcjc021++gcd8rM+BcZDBgQdMlnKYW5wviCQJT1VZzsJs8N1X0Ba0UVn1mQyjCi44Dvr395jaMJqzdRw9ImqTx1EOhIxLu7egyfyltnputW0p1Yu/y+J/WOl2H8Rf+mJjKV74JLZkJQDVng9GyzuCGxKucK44Kv/8ruPRLRYNmSmfIa3YmdpKb2CbZnBrnEXditxchYKAMefDjzfEt4fat8/Y2cnVylnVxZKOS5ZX4GgqtI8qp2hr3H//gZWsH2KBZ5AnCQTCpaAqkXn9Cxw5cFt6lwQoHT04nVhMcrRmbUMg4gf59I4Z7HVD8CaFdZolnprgvG6iqBIOLsmMd6w9JXVwnLWAnX14UU553pM/dp5IZnH5xGAExfpYzJEgpxPQs8v0l0ouXmmCSDj1IAYcsJjBI8Kh8bTWNxAGRH4sydwp/xvRteNRA2+Uhypaa0WcDsfBGEP162+GTZjva87AZiIlPvcHVdoeKYcV3vw9y/ZzBGNv5QdfwOyy0+bymSVX6HJaZNmvAlJDBVA3+m7JaSQFnkAM5idYzc0Xj40RQi8XmbJ9/jNlodvNS/uGg6YGp+ghvwXHJaZVS2t4pv2lcQYqoOQ0nTkZ2nZQbPfbTRIAsOlR582UHjzw6qkSRdrLc="
}

此处省略一个视频页面的接口,获取多个推荐视频,对本文没帮助略过


通过id获取视频(附带完整信息的预览)

请求

curl -X GET 'https://api-target-01.example.com/player/video/play?id=s65d491ace4b055ccba14f437' -H 'User-Agent: okhttp/4.11.0' -H 'Accept-Encoding: gzip' -H 'connect_timeout: 15000' -H 'read_timeout: 15000' -H 'write_timeout: 15000' -H 'content-type: application/json' -H 'app-version: 2.0.1' -H 'version-code: 1' -H 'vversion: 201' -H 'vos: ANDROID' -H 'app-name: UL' -H 'device-modal: OPPO' -H 'vtime: 1733644778165' -H 'vsd: 0' -H 'vtoken: nVdapBhT2e5HjzbkO2r4MqJTHhNk2ND2Psjip/mAzByPeKRh2LgBYVfm9+3ONtu7s2ZTSGNmPFk1wIAV8/tKJqlS5fyjOnJLHVM55qFrG18OWspGo8UMM4LbxTMwKS1N' -H 'vke: REDACTED' -H 'device-uniq: REDACTED' -H 'os: android' -H 'package-name: com.play.app' -H 'os-version: 11' -H 'kk-code: REDACTED' -H 'client-time: 1733644778165' -H 'rand-str: 146513ac01333bda8e8d04a51772ea7c17336447781653163319791' --http2

携带参数只有一个id

响应

{
  "code": 1,
  "data": "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"
}


多线路(完整播放链接)

请求

curl -X GET 'https://api-target-01.example.com/player/video/link?id=s65d491ace4b055ccba14f437' -H 'User-Agent: okhttp/4.11.0' -H 'Accept-Encoding: gzip' -H 'connect_timeout: 15000' -H 'read_timeout: 15000' -H 'write_timeout: 15000' -H 'content-type: application/json' -H 'app-version: 2.0.1' -H 'version-code: 1' -H 'vversion: 201' -H 'vos: ANDROID' -H 'app-name: UL' -H 'device-modal: OPPO' -H 'vtime: 1733644778803' -H 'vsd: 0' -H 'vtoken: nVdapBhT2e5HjzbkO2r4MqJTHhNk2ND2Psjip/mAzByPeKRh2LgBYVfm9+3ONtu7s2ZTSGNmPFk1wIAV8/tKJqlS5fyjOnJLHVM55qFrG18OWspGo8UMM4LbxTMwKS1N' -H 'vke: REDACTED' -H 'device-uniq: REDACTED' -H 'os: android' -H 'package-name: com.play.app' -H 'os-version: 11' -H 'kk-code: REDACTED' -H 'client-time: 1733644778803' -H 'rand-str: 146513ac01333bda8e8d04a51772ea7c17336447788035087910857' --http2

响应

{
  "code": 1,
  "data": "TiSTxtQMqBoAJ+hEm2t4+lgxXmat4me9TjRED8td0ardKwPtZhKeoe0ZYIi9IYjdIkN+35n+kj13pElJ1YqQCHIorzpqgyM4qE2mFrdp9d+I5vOFbgUCgS4S9Ud4025x1TfPgLdrBYLDaB1NWB+HNfF0W9GSeIJ37XDlDeJtsABy3FK2U1XagNxESA0rA0YFGY+Ha7aAqvuafa9IxtjISC3RVYOA9GPP/oImv7MkLg9Ht1//R3wj+DpUboJmphUd6WOl9+I5cm+EEqCLXv8qFyIPjAiKNsYfH7/a4RSQx6td2AuaYYMQ48kBSuX+5T4oRa2QoL4S2u3n+c/1HbuymNC5ZupRfMUMtMiSNZrkshAgCfkCAp/2bfHBuBcebVXBhtm9DMA0DVlK5VMkIUorWH+TIl0oR8sc9jJ+nSymDJsErW8AWUQFhylCuA3XJAOjuzx3BQknr6/yuOGvCABVp19iAZoQ+iMdcPLraehHEtARlIH7KIR3AOBkPOc93Q72zU+Kz04J19as6MkSPEl54WfXPgtk/WF8pecgL9kd1UA328U0DfNMF899PVmQCi5LdaYLCfQa+Mh2Xwrt4k+/uGGqadE3pfzRyvYVzIuFZwCCTwT+pxxtffjASM6UWrE8kkopWDAASJtMEVHegYWuXFFWdPcQD5h5fomiRvIdete8KzLEeWsP2Cc7NIDTsEnKApat1cVOruszyjprqgdplu4mrZl8dDaRLmMIiUaaPAyzR0+i2iN8c7B8hAQn2vDtBRMLBUih1I0/7s55vIhHpEOIc7gUZmgzFiVpeY4b/Pns+zuDKZ4CIpWPwWq3IQhnhWDUlQi+VS2fGBIMNCEf6iLDIeLrtVWwOjUOmICudQNhg0U55oc+vcN6Fq1tCSQMNrIRZSA3s5zNLIi/pOAM1IX+BHrqRc3RFNqSmNVfpeHN2Wx0ujopRs2gYzTzLmFSFapFwOIzhsGhisEw1Zo/4VFn8B4Cy7JJY1bgdfPw5XraRiCzJy+1hcNqDQiSwCNky2rZ1cU9X4WDV+nXncFKZ/5HcXdKM6uRJl027uVN0Ti0+8S/xbC/IPqcXYc9KitkYYYDZL3AhHK9/BRSZs7q7UorHJKRA1THXudaBNwN6128xEWQZ5cKol/6AdE/VLrpZJijYwJsDjmEhUfZ3p19/e6ECCcXdYNfe9RGDQHMlNd0S1OyKYu67Vm4XG0ApXbU"
}

获取可用域名(轮询)

就是避免失联的一种做法,软件请求cos桶(阿里云和腾讯云),得到可用列表,再逐个域名的ping检测,筛选可用域名进行使用。

请求

curl -X GET 'https://ununtvx-1325757149.cos.accelerate.myqcloud.com/host.jsonb' -H 'User-Agent: okhttp/4.11.0' -H 'Accept-Encoding: gzip' -H 'Content-Type: application/json' -H 'app-version: 2.0.1' -H 'version-code: 1' -H 'VVERSION: 201' -H 'VOS: ANDROID' -H 'app-name: UL' -H 'device-modal: OPPO' -H 'VTIME: 1733647865628' -H 'VSD: 0' -H 'VTOKEN: nVdapBhT2e5HjzbkO2r4MqJTHhNk2ND2Psjip/mAzBxXnaGbKOTgFxeHlnmUC8hp' -H 'VKE: REDACTED' -H 'device-uniq: REDACTED' -H 'os: android' -H 'package-name: com.play.app' -H 'os-version: 11' -H 'kk-code: REDACTED' -H 'client-time: 1733647865628' -H 'rand-str: 146513ac01333bda8e8d04a51772ea7c17336478656288722898199' -H 'Connection: close' --http1.1

响应

{
  "code": 1,
  "data": "VTPeoG5HDuEuffIyS3D26dPpEMj0gqJVaKaanzWapyqPO0lWOWZRhEeqIFL9ljCqbgJTvr2xy1jmIe0bvtx8OGhsB55gK5SQONFXyP5K1PEKUdk1cT4yP/Ngt9LsiAJLlBDDbLqExtHq0Sk0CPp0cudAui342enQvNMC7b7t5EbOJcFQiyRdcgnoEHh1Rlh4w/DXMnmlWJFHsFOBfNLauR6XJ8t0CFd3elKuohenRL6WxGsfZEx3jXkBJpRZn84wzdlOVCbafys7Lb2XJq2G6QkIToUvwaAu9B5pNyU1VR3rZ13ypqBxbmx7kNzl0QKvQSI7cdoHoqR8VZeTY8NJw/Y1mBqdreDM4zxUIZhjevz8mkagFR/Rut2Qe6INdrsQYYBiVaDfanNpGnPMKNee7hk2ayK3ZAOd23dIPHCGOhZ4gofDvbsZhW4baG/sw6yP3cZKOugoHXgofEBOUgw6YChf9QN6Z1YXUqJ7NUe+YHZ++Yf3xO0Mffh426NQ8C9SvPyTqxrybvvk35961uU78OC86JXwurtYMxQERdkR5OljwN9s48qPmpqbLJLYsYj5ScVxLkZMHKj67ZRgey+eWnHn6TjsEr+S1vu4zZGDDK6GnR5bwRKdp/nRrMgVb/IO8OvAvd9dO4ZC5wTvPTsyYYe9JhhVYiiKCPHRt0xHKwccQoGXNq5oxIPyEJuEltEGvB59geyURNK1aGBdDbb9kNv7OaTW0duM3BbYRmu55zvBTqETKJOdYGX46ZfcE4vSP7QKWp2cY2ylM8UpUbnJwHtn0hHQn27gjmHbKIarTGs=",
  "msg": "2024-12-08 16:03:12N"
}

注册账号

请求

curl -X GET 'https://api-target-01.example.com/app/run/info' -H 'User-Agent: okhttp/4.11.0' -H 'Accept-Encoding: gzip' -H 'equip: PDRM00' -H 'sysinfo: ANDROID' -H 'sysver: 11' -H 'vcode: ' -H 'vsk: 76c14e44ba110c94b08872bbad77a3ac7eeb7a2733c8381101a3c4a93e8a8984' -H 'content-type: application/json' -H 'app-version: 2.0.1' -H 'version-code: 1' -H 'vversion: 201' -H 'vos: ANDROID' -H 'app-name: UL' -H 'device-modal: OPPO' -H 'vtime: 1733647866665' -H 'vsd: 0' -H 'vtoken: nVdapBhT2e5HjzbkO2r4MqJTHhNk2ND2Psjip/mAzBxXnaGbKOTgFxeHlnmUC8hp' -H 'vke: REDACTED' -H 'device-uniq: REDACTED' -H 'os: android' -H 'package-name: com.play.app' -H 'os-version: 11' -H 'kk-code: REDACTED' -H 'client-time: 1733647866665' -H 'rand-str: 146513ac01333bda8e8d04a51772ea7c17336478666658713775783' --http2

响应

{
  "code": 1,
  "data": "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"
}


获取账号详情

请求

curl -X GET 'https://api-target-01.example.com/member/home/info' -H 'User-Agent: okhttp/4.11.0' -H 'Accept-Encoding: gzip' -H 'content-type: application/json' -H 'app-version: 2.0.1' -H 'version-code: 1' -H 'vversion: 201' -H 'vos: ANDROID' -H 'app-name: UL' -H 'device-modal: OPPO' -H 'vtime: 1733647871667' -H 'vsd: 0' -H 'vtoken: nVdapBhT2e5HjzbkO2r4MqJTHhNk2ND2Psjip/mAzByPeKRh2LgBYVfm9+3ONtu7s2ZTSGNmPFk1wIAV8/tKJqlS5fyjOnJLHVM55qFrG18OWspGo8UMM4LbxTMwKS1N' -H 'vke: REDACTED' -H 'device-uniq: REDACTED' -H 'os: android' -H 'package-name: com.play.app' -H 'os-version: 11' -H 'kk-code: REDACTED' -H 'client-time: 1733647871667' -H 'rand-str: 146513ac01333bda8e8d04a51772ea7c17336478716676926838175' --http2

响应

{
  "code": 1,
  "data": "/z7v6FpVRGoXBFrDZShhYpLb1sHQ6E4AFiTEgkq/k+xiX/fzLjYsw7Nn6jHFlZ8/TJm3H07ymbqIwTYMfT4QzwxmpjfiuQLIM28GZfMomtCk3/dHLSHRMORmEnIuMfB6Pf3y/qc6ZCkR+zsbQSIsiA20mLNq246676Hpjop68dH9erLPSj+mrEQpfaCFWEW2LYG3LpdqAr84CpPWdf/K7JEWAKxEybRKUpgdn8KF1W/2cNKcLpez472gNicuq3BcKTSIcW5PYtUGhbr8JcvuZ/f1Npf/y+ZqKlKw+dZhP5+gfBhAV0kcjYgFt5h+z3S1bWMMxlrT9LztTv5ZetSwae3mkh9rmn9h/4Ddd7yKpFnOoy4zPpYKc/nMvuVPUEpUJRsCFhV36D3btO6FO7ytVa+2ChWavtrUcJiv0p0tJJSGVM8nBM5ea9W9q81F6sljPp1mEy/qNFWyo9BYxRouXjr3ND1vimL3WFbtRgMLaDU1R+P+NeslEmjgrs2l+zUjBXs8IcrkDd6jxxnT5e1cPPEUbrk4wTrKbesUdbVT6vCA5FuxrmvbKqF3DHl7jVzFDA0vfMR2E5JOop3gParRx4J/RaZ0R8g/6jcK3+74i15OBG68uh6S2SQgmfxgbrWqH2k6rUvuLKeQei0M1RKHryE+skQVspDSvFo/fj6zmJ4GkXP63cUG0Mx+edWK/8LtMSbMy6Bav/ul/DIcSXKUT+ZIzKuJOw1Yen7gDs6vPd3aCcaS65jcHhWW6UK9SY/L8PE1meickEgDSnTPxKtDKrX7iwlYlbV19vwKVaVAC28qEeZczUdJqgCpBF/TnyvbVZJoJ06zYtxncbT7poD8/Qf2OgVzIf3MVw9xdLQ6Ek8fESMTjsUdF3grsVmIsWCntUe4qlAiP22hJKW41CMJbVpOHQ3EgOJ/Va7aNU8oJG1QwfAPhft7h29GwAPRbG6mFSTQQue7eJfZvTdX/XfGZC45HN1ioV34PDq2inSbX7Cnkki3+ngilYFz8uIzX4pHaLQvafllFQPG+0xVExpbJeoprxbe+/UcivZcP4Q2o3ZemG1T49O1cpFbvYIE+k+qtDkPrV1f/T7KtrDmNTV4sJZrYureXiaa92awqXp8RDYEm71iEwBdaUEEv9HYrw8QX3Kl6t1bpKhYc8RTmkiSr8p8hJ5X07QZHJhZBVXC4z1gsbo+V0eMeEAMY9C8xW/fmSCm0SA3N8JD59lJM4QIjA=="
}

加解密

工具

lsposed+magisk+算法助手pro

过程

加解密逻辑

通过hook加解密函数得到密钥、算法类型

  • 算法类型 AES/CBC/PKCS7Padding
  • 密钥 REDACTED
  • 偏移 S87Iwwp7wJl0d8W1

分析软件逻辑

得到解密后的响应 (已删减)

{"videos":[{"id":"s66f7e6ebe4b004635fbcf771","title":"脱敏","photo":{"url":"https://cdn-target-01.example.com/files/image/p66f7ffdbe4b0b7ebc5fcf159.webp"},"duration":{"seconds":4465,"ex":"1:14:25"},"stat":{"lookNumber":166830,"likeNumber":13035}},{"id":"s653707dde4b009acc24f9ac3","title":"脱敏","photo":{"url":"https://cdn-target-01.example.com/files/image/p65388be6e4b09c17555edbdd.webp"},"duration":{"seconds":244,"ex":"04:04"},"stat":{"lookNumber":17364,"likeNumber":1146}}]}

可以分析下结构,videos是列表,下面的每个item有id、title、photo、photo下有url、duration、stat,很明显我们关注的就是id和title,所以其他的不管了,继续hook,看是怎么通过id获取视频的。

通过抓包解密得到下面的响应

{  
    "video": {  
        "id": "s65d491ace4b055ccba14f437",  
        "title": "脱敏",  
        "photo": {  
            "url": "[https://cdn-target-01.example.com/files/image/p65d4a310e4b0f33694ffcd9d.webp](https://cdn-target-01.example.com/files/image/p65d4a310e4b0f33694ffcd9d.webp)"  
        },  
        "introduce": "脱敏",  
        "label": {  
            "videoLabel": [  
                {  
                    "id": "t13",  
                    "name": "无"  
                },  
                {  
                    "id": "t27",  
                    "name": "室内"  
                },
            ]  
        },
        "golded": false,  
        "free": true,  
        "membered": true,  
        "flashSale": false,  
        "play": {  
            "preview": {  
                "url": "[https://cdn-target-01.example.com/files/few/f65d4a517e4b0f33694ffcd9f/65d4a30fe4b0f33694ffcd99.m3u8](https://cdn-target-01.example.com/files/few/f65d4a517e4b0f33694ffcd9f/65d4a30fe4b0f33694ffcd99.m3u8)"  
            }  
        },
        "player": {  
            "preview": {  
                "url": "[https://cdn-target-01.example.com/files/few/f65d4a517e4b0f33694ffcd9f/65d4a30fe4b0f33694ffcd99.m3u8](https://cdn-target-01.example.com/files/few/f65d4a517e4b0f33694ffcd9f/65d4a30fe4b0f33694ffcd99.m3u8)"  
            }  
        }
    }
}

(已删除大量无关数据)
可以看到这里给出了id、title、preview的url。如果此时下载m3u8解析视频,只能得到11秒左右的视频,但是软件能完整播放,仔细观察抓包得到的所有链接,紧跟着的还有一个链接https://api-target-01.example.com/player/video/link?id=s65d491ace4b055ccba14f437,解密响应可以得到是获取多条线路的接口,响应如下

{"video":{"player":{"mainVideo":{"url":"https://cdn-target-01.example.com/files/view/f65d4a310e4b0f33694ffcd9e/65d4a2a5e4b0f33694ffcd95.m3u8"},"mulAddr":[{"name":"国内线路1","url":"https://cdn-target-01.example.com/files/view/f65d4a310e4b0f33694ffcd9e/65d4a2a5e4b0f33694ffcd95.m3u8","weight":1},{"name":"国际线路3","url":"https://cdn-target-02.example.com/files/view/f65d4a310e4b0f33694ffcd9e/65d4a2a5e4b0f33694ffcd95.m3u8","weight":2},{"name":"国际线路1","url":"https://cdn-target-03.example.com/files/view/f65d4a310e4b0f33694ffcd9e/65d4a2a5e4b0f33694ffcd95.m3u8","weight":3},{"name":"国际线路2","url":"https://cf1127ulcdn.liguite.cc/files/view/f65d4a310e4b0f33694ffcd9e/65d4a2a5e4b0f33694ffcd95.m3u8","weight":4}]}},"playRights":{"permit":true,"level":3},"play":{"dayFreePlayLeft":0,"dayFreePlayed":1,"dayFreePlayTotal":1,"lookIdList":{},"lookIdNowList":{},"dayLookNowNumber":1,"lookNumber":1}}

可以据此得到获取视频的完整链接,但是注意后面跟着的参数{"permit":true,"level":3},"play":{"dayFreePlayLeft":0,"dayFreePlayed":1,"dayFreePlayTotal":1,"lookIdList":{},"lookIdNowList":{},"dayLookNowNumber":1,"lookNumber":1},说明获取完整链接是在服务器校验的,那么登录就是一个问题了。(前面请求都是带有vtoken的,至于说vke之类的可以试一下,不带他们请求也是可以正常返回数据的)
链接对比
预览 https://cdn-target-01.example.com/files/few/f65d4a517e4b0f33694ffcd9f/65d4a30fe4b0f33694ffcd99.m3u8
完整 https://cdn-target-01.example.com/files/view/f65d4a310e4b0f33694ffcd9e/65d4a2a5e4b0f33694ffcd95.m3u8

分析注册逻辑(主要是vtoken)

使用逆向工具查找vtoken相关代码,只有一处,跟进方法,得到是上面的加密方式加密下面格式的内容得到的,解密后格式如下{"vmid":"REDACTED","vno":"g67554a8def0ab9467f4cdaf0p0nutxz5"},尝试伪造一个登录信息,服务器响应“无权访问”,那么只能注册账号,获得vtoken,携带新的vtoken下载视频。(心疼服务器1秒钟)清空软件缓存模拟第一次打开(也可以换虚拟机或者修改获取设备信息的java代码,这都无所谓,只要抓的到注册接口就行)

获取可用域名

第一个接口抓到以后 #获取可用域名(轮询) ,就可以获取列表然后为轮询做准备了。

{"apiHost":["https://cf1206ulapi.duanniangb.net","https://api-target-01.example.com","https://aliulpi1107.yuanbook1.cn","https://bp1128ulapi.cfptqr.cc","https://gouap1206w.ull2by.top","https://d1xn1hq3gz9884.cloudfront.net"],"interfaceList":["https://unalyuin.oss-accelerate.aliyuncs.com/host.jsonb","https://ununtvx-1325757149.cos.accelerate.myqcloud.com/host.jsonb","https://storage.googleapis.com/ununn5/host.jsonb","https://d2091r3ujou0fq.cloudfront.net/host.jsonb"],"loading":{"always_show":"false","button":"关闭","button_act":"close","title":"系统维修中","content":"系统维护通知"}}

大致过一下,apiHost是域名,interfaceList是用来获取域名的json
获取域名后使用https://cf1206ulapi.duanniangb.net/ping,得到pong响应的就是可用的

注册账号

#注册账号
解密后的响应为(省略无关内容),value为1,得到vno和uid

{  
    "value": 1,  
    "vno": "g67554a8def0ab9467f4cdaf0p0nutxz6",  
    "uid": "u982d01f7b8d68544150a11211c06457d",  
    "stat": Object{...},  
    "actives": Array[1],  
    "labels": Object{...},  
    "memberRead": Object{...},  
    "resourceCDN": Array[2],  
    "openAW": true,  
    "awinfo": Object{...}  
}

写软件免费看

思路

每个账号每天只能放一个视频,先把账号都导入到数据库中,数据库有设备信息和vmid、vtoken等,再记录一下播放的视频id(软件通过访问接口传回),这样当软件使用者访问视频时先查询这个id是否被某个账号看过,如果被看过则返回这个账号,如果没有则随机返回一个未播放视频的账号

数据库建表

  • 视频信息表
CREATE TABLE `Videos` (
  `video_id` INT NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(255) NOT NULL,
  `url` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`video_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  • 用户信息表
CREATE TABLE `UserDeviceInfo` (
  `device_id` INT NOT NULL AUTO_INCREMENT,
  `imei` VARCHAR(50) NOT NULL,
  `ip_address` VARCHAR(45) NOT NULL,
  `last_open_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `installed_apps` LONGTEXT,
  PRIMARY KEY (`device_id`),
  UNIQUE KEY `imei_unique` (`imei`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;