某盾blackbox二次分析

免责声明:

  • 本文章主要用于技术交流学习,作者不承担任何滥用技术所产生的法律责任。如有侵权,请联系作者删除!

前因

# 之前分析了一下td blackbox指纹,使用补环境的方式跑通了,但是部分浏览器指纹没搞好,需要再次分析对比

分析流程

url = "https://fp.tongdun.net/web3_8/profile.json"
params = {
    "partner": "jxhk",
    "app_name": "jxhk_web",
    "token_id": "jxhk-1746675420182-af90bc059850a",
    "a": "IAlYstnFkTlBozAOlY0zQI4F4LUmr3RY20PMjtMXMaSLc5mfxRXewN2Tw7bY0nrYhef7JTU5YWmNHjPxw7tWf8bHKGiXKgE3CV4oPNonnj~aRTlvUbibJTbe3EglJqsMZPuLlhjPro6OWtjofLy/cbWaHNLz7APOkw~fhSvO9Qs5htGtwZaQZPwCbj4M7GTTvLDHHLQ2QXhkf2XqJc1RFP0MzcJ3~/yHcCdTp1y5JorOaLYmryoh9UxqJEzrv/Dq4m2q/Krv~F2t1R0Ym3PT6fSC9LfJwyTtzhyaZRGsdUnQNSKFV/efxcjEO5uEyIteOmrNjc1MStIc2tOk9BpX738IFz5tMdBWHjbXfUcKtUYfEGBaC65HVzQ/qrtktY9DRAXzBCISOkG73M3oTglDIetC9EzPBkh9~H47C0ImWycOztNe1ScfAWkKqJzpw4sG8j9ho9UAiEsw/J7kKWcTClP4L8qDAB3PIHdDksPI8iC=",
    "b": "a/A9ZV03OND33NwOS/pR3ap~kXS/p3vG8QkQECciG4aLM3oBu6kR3J18rGtPiZz0AP0DHQGW59ISXnTYS1GZGGCIRQp~UyaEJxwPBDf81GK3K8wA2VQvd0o/g30t0YJHO3jlFzvqYyD1Sl6mF5b1bgJzuShLJwj0VI2AMOOU1PbagTclQ6kDSl18mUMtk6~9qsp52tZb/uzli9/ehEGkuILF3faGPtz1uqSLF1h492e6hW5Vyt1PFTjUAbYINf7/RyrL2~t/weAmHxR4MtSUB3Mblp9N2tFApci6VtrrRRYUtdbVqc8d6tRS113Ilu9PySGqdrWDG0S51eHxU7sM1td3S1NHqhA2GzdFYN3mhMTDqv4bk3E50IPxpB6kvtFvHIgV7gsix4axfh1WobBdSq6OPsxjTYgw5zJNXPdVBjetQ5wyekfLSvNwVmIRYYoK",
    "c": "0u0smo2v8tCfMYEC9/zVuv6XnjDx820TaKwBhM2T5YpetOAVWfHBzih3~9r6PZy9Zpng6fCHkCQSvd1osCO5VQZHo0sB1GWobB/vLBzXb/RXAjlYFaUBJ6kJWbjV4DjsLVgulvSIlz8dfLHszZxwTVtYFFrP535kbkieiRj~3LsvpetToOuk7MC6OTCW~ZDdY9AOmacVW9eAyILGZHthh5yf6/CKMCIOhFRdzCmOSacqe~1gy38zDrs2QtQvBb40vV~0csjpgn61adOaA3qQsRMWpofnhhiIptr87hO4dvFujw9YZXXmOVkN3NgsigXL~OvNgWc6PftUJA8HyVL/SHde1q6q28FwDAuQz7TXPdLw/~sRqhfVYiBU90HzUJKvQlrm/Ho4yuP6HsjXpySdDIXJjKDmPpBYtIHeDPIKov67/G~kJEKm9WNwcU8uDeBUesBO0SBJN6iSPLI4iQO42FUaeJPYpoIUAhdy3EqkL1tlhvh6I0qFlt~fQj4WRiQsnQz8Ai4Tknn5pliORh4XG9FinB3Ip7b0KKw3F6IzD~e=",
    "d": "5AF8CgjGMLnlQgt11r4Pp4JCP/SxgrjT0Gqpem1MB/thfRoYSnE1Y/26Ho1Uvn4PfYzTIBJmAQlEK~CzJLCpYaMxvSKa~L~6Q1NCJlTT2gSlaq7oQ1ArkwU9aMS05hb3EDK5QCrz990gyN~UgRK2pXv4dnH7NgW1DNq97IIEqXMHbAPbY1MUcAD1H9KkfvLy/UOsF0SWkXXWA~pwDf6lW1hlnHFK1Ue9e2Orz~vOi2sqfz7fWvJRKkFPck5HX6/nxXrQtrll54fji5PpcxcwjixxnYvwrs3Pr3sZHlB4yBDvIUnmpTC9HPVEgAvHqArvI/iD9dcEN18O/Bf5ct0xrRjoVRR0R9kAqGL3vyg7TT5cqkYkyHzzPHNGGGdQe71e4WntX63KN8t/ssqaQzzwBNN0hdwgQPv2",
    "g": "6L/At2A2whx~zHPERTPDQaiYRUhIkYLZgh~KBqH/dQuVI9fatCrPTzisfGy3VxKuECknwHt6uL9Dhg67MHq~fKiMTIHMlhUikJLUeDbmo1ohBM1vyQRjhnXKHK9v4nQC08Aq8tVZUH/FzZjB~~psTNJqyA2S~0tllzsPcglYnS2fz/yANHIutti7Nf~m1pKrhyJAzeOYz7KpuoHle67J2JLenIHm9EsVC0glNfcfJwly2Wt9JAVRHotdpUnAJrM9EKDEYOzGKaW2xpSBhqIesTsZUKo1Bv61MNjySGoADT87RWBKJG6CZYBB/pBE9GtPnfCsKXaawMN/zj4St8ucA6esdv~zAN7d5SJsDaHI2GMO5eYnOMjL2/6aNFRKIvfoaY5N9uSNVusnbpiOUu5Zga==",
    "f": "2bcrGLrksR8AdGNwoho~jHDyGmtsmAXi",
    "e": "COmn9YvVf4uNL5kRvfmvEKUgZnXUOqbntv0w1bhnvAvkkFFKhSdYePLOrr3I9g+IQrXC+GcYhwBT5mgL1rm8rMNlsgdIa7z6EkHyctrJ3mY=",
    "v": "JZuFK8iZfzhZG+BaqcUjAgNuPh8lFrtHCX3Ev7uGAGTj9gLkI0nL5bb/QS7zhKew",
    "idf": "QtNhHLDRNFlGszOP7Z3MtgbbXz+D0+Yo5nIwsS2BMtkc/oxuUahUw6zt6HLhJIA/t0boQ7ooLK9C5AhzhNRJagONhn3aFx16yPrTuH2gxzYslJxGh4Pwk/Rp/cwJf1lgyxJgKiDTVT211VOrBbUGMPPHMxLFjgz2NFZL60ZuGOI=",
    "w": "GPovRHiXimRME7mIvTpACYFqBYlegnTtiGh6a1MnOiw5BonUCnQXLPrY11S/I6reK63heVFuq0IGam/4MslcMF0EBqqM~jlk",
    "ct": "v9zcFcARcJm=",
    "_callback": "_1746682528400_6938",
    "h": "1c1b45ff1de7699d976e014172e7bac3"
}

加密代码位置分析

  • 直接hook join方法
(function() {
    const originalJoin = Array.prototype.join;
    Array.prototype.join = function(separator) {
        //console.log('检测到数组调用join方法,数组内容:', JSON.stringify(this));
        //console.log('使用的分隔符参数:', JSON.stringify(separator));
        if (this.some(item => String(item).includes('app_name=jxhk_web'))) {
            console.log('发现目标元素 "app_name=jxhk_web",触发debugger...');
            console.log('检测到数组调用join方法,数组内容:', JSON.stringify(this));
            debugger; 
        }
        const result = originalJoin.call(this, separator);
        //console.log('join方法返回结果:', JSON.stringify(result));
        return result;
    };
    console.log('已成功Hook数组的join方法');
})();

分析提交到服务端环境信息

url = "https://fp.tongdun.net/web3_8/profile.json"
params = {
    "partner": "jxhk",
    "app_name": "jxhk_web",
    "token_id": "jxhk-1746675420182-af90bc059850a",
    "a": "IAlYstnFkTlBozAOlY0zQI4F4LUmr3RY20PMjtMXMaSLc5mfxRXewN2Tw7bY0nrYhef7JTU5YWmNHjPxw7tWf8bHKGiXKgE3CV4oPNonnj~aRTlvUbibJTbe3EglJqsMZPuLlhjPro6OWtjofLy/cbWaHNLz7APOkw~fhSvO9Qs5htGtwZaQZPwCbj4M7GTTvLDHHLQ2QXhkf2XqJc1RFP0MzcJ3~/yHcCdTp1y5JorOaLYmryoh9UxqJEzrv/Dq4m2q/Krv~F2t1R0Ym3PT6fSC9LfJwyTtzhyaZRGsdUnQNSKFV/efxcjEO5uEyIteOmrNjc1MStIc2tOk9BpX738IFz5tMdBWHjbXfUcKtUYfEGBaC65HVzQ/qrtktY9DRAXzBCISOkG73M3oTglDIetC9EzPBkh9~H47C0ImWycOztNe1ScfAWkKqJzpw4sG8j9ho9UAiEsw/J7kKWcTClP4L8qDAB3PIHdDksPI8iC=",
    "b": "a/A9ZV03OND33NwOS/pR3ap~kXS/p3vG8QkQECciG4aLM3oBu6kR3J18rGtPiZz0AP0DHQGW59ISXnTYS1GZGGCIRQp~UyaEJxwPBDf81GK3K8wA2VQvd0o/g30t0YJHO3jlFzvqYyD1Sl6mF5b1bgJzuShLJwj0VI2AMOOU1PbagTclQ6kDSl18mUMtk6~9qsp52tZb/uzli9/ehEGkuILF3faGPtz1uqSLF1h492e6hW5Vyt1PFTjUAbYINf7/RyrL2~t/weAmHxR4MtSUB3Mblp9N2tFApci6VtrrRRYUtdbVqc8d6tRS113Ilu9PySGqdrWDG0S51eHxU7sM1td3S1NHqhA2GzdFYN3mhMTDqv4bk3E50IPxpB6kvtFvHIgV7gsix4axfh1WobBdSq6OPsxjTYgw5zJNXPdVBjetQ5wyekfLSvNwVmIRYYoK",
    "c": "0u0smo2v8tCfMYEC9/zVuv6XnjDx820TaKwBhM2T5YpetOAVWfHBzih3~9r6PZy9Zpng6fCHkCQSvd1osCO5VQZHo0sB1GWobB/vLBzXb/RXAjlYFaUBJ6kJWbjV4DjsLVgulvSIlz8dfLHszZxwTVtYFFrP535kbkieiRj~3LsvpetToOuk7MC6OTCW~ZDdY9AOmacVW9eAyILGZHthh5yf6/CKMCIOhFRdzCmOSacqe~1gy38zDrs2QtQvBb40vV~0csjpgn61adOaA3qQsRMWpofnhhiIptr87hO4dvFujw9YZXXmOVkN3NgsigXL~OvNgWc6PftUJA8HyVL/SHde1q6q28FwDAuQz7TXPdLw/~sRqhfVYiBU90HzUJKvQlrm/Ho4yuP6HsjXpySdDIXJjKDmPpBYtIHeDPIKov67/G~kJEKm9WNwcU8uDeBUesBO0SBJN6iSPLI4iQO42FUaeJPYpoIUAhdy3EqkL1tlhvh6I0qFlt~fQj4WRiQsnQz8Ai4Tknn5pliORh4XG9FinB3Ip7b0KKw3F6IzD~e=",
    "d": "5AF8CgjGMLnlQgt11r4Pp4JCP/SxgrjT0Gqpem1MB/thfRoYSnE1Y/26Ho1Uvn4PfYzTIBJmAQlEK~CzJLCpYaMxvSKa~L~6Q1NCJlTT2gSlaq7oQ1ArkwU9aMS05hb3EDK5QCrz990gyN~UgRK2pXv4dnH7NgW1DNq97IIEqXMHbAPbY1MUcAD1H9KkfvLy/UOsF0SWkXXWA~pwDf6lW1hlnHFK1Ue9e2Orz~vOi2sqfz7fWvJRKkFPck5HX6/nxXrQtrll54fji5PpcxcwjixxnYvwrs3Pr3sZHlB4yBDvIUnmpTC9HPVEgAvHqArvI/iD9dcEN18O/Bf5ct0xrRjoVRR0R9kAqGL3vyg7TT5cqkYkyHzzPHNGGGdQe71e4WntX63KN8t/ssqaQzzwBNN0hdwgQPv2",
    "g": "6L/At2A2whx~zHPERTPDQaiYRUhIkYLZgh~KBqH/dQuVI9fatCrPTzisfGy3VxKuECknwHt6uL9Dhg67MHq~fKiMTIHMlhUikJLUeDbmo1ohBM1vyQRjhnXKHK9v4nQC08Aq8tVZUH/FzZjB~~psTNJqyA2S~0tllzsPcglYnS2fz/yANHIutti7Nf~m1pKrhyJAzeOYz7KpuoHle67J2JLenIHm9EsVC0glNfcfJwly2Wt9JAVRHotdpUnAJrM9EKDEYOzGKaW2xpSBhqIesTsZUKo1Bv61MNjySGoADT87RWBKJG6CZYBB/pBE9GtPnfCsKXaawMN/zj4St8ucA6esdv~zAN7d5SJsDaHI2GMO5eYnOMjL2/6aNFRKIvfoaY5N9uSNVusnbpiOUu5Zga==",
    "f": "2bcrGLrksR8AdGNwoho~jHDyGmtsmAXi",
    "e": "COmn9YvVf4uNL5kRvfmvEKUgZnXUOqbntv0w1bhnvAvkkFFKhSdYePLOrr3I9g+IQrXC+GcYhwBT5mgL1rm8rMNlsgdIa7z6EkHyctrJ3mY=",
    "v": "JZuFK8iZfzhZG+BaqcUjAgNuPh8lFrtHCX3Ev7uGAGTj9gLkI0nL5bb/QS7zhKew",
    "idf": "QtNhHLDRNFlGszOP7Z3MtgbbXz+D0+Yo5nIwsS2BMtkc/oxuUahUw6zt6HLhJIA/t0boQ7ooLK9C5AhzhNRJagONhn3aFx16yPrTuH2gxzYslJxGh4Pwk/Rp/cwJf1lgyxJgKiDTVT211VOrBbUGMPPHMxLFjgz2NFZL60ZuGOI=",
    "w": "GPovRHiXimRME7mIvTpACYFqBYlegnTtiGh6a1MnOiw5BonUCnQXLPrY11S/I6reK63heVFuq0IGam/4MslcMF0EBqqM~jlk",
    "ct": "v9zcFcARcJm=",
    "_callback": "_1746682528400_6938",
    "h": "1c1b45ff1de7699d976e014172e7bac3"
}
// 除了e,v原始字符后都是用时间戳后缀,这里没有展示 加密后是包含时间戳的
// a
// 加密PKzx原始字符串:-^^0^^41913829c8252e9e775f5241891b77a2|01100100000111000011110011010010000011001010110001111111111011111^^742887^^-^^957^^48000_2_1_0_2_explicit_speakers^^480^^9fdd23d3687d1d914adcf0bfcbf84b23^^1746682525163^^1920^^1080^^4746e7f5fbc70ef2ccd365c30c93f66a|b0f2202fc3f0f72f424ca4fc6db815df^^functiongetParameter(){[nativecode]}^^-^^107639259954__^^-^^7.0.0^^-^^1iqn68dka
// 加密后密文:IAlYstnFkTlBozAOlY0zQI4F4LUmr3RY20PMjtMXMaSLc5mfxRXewN2Tw7bY0nrYhef7JTU5YWmNHjPxw7tWf8bHKGiXKgE3CV4oPNonnj~aRTlvUbibJTbe3EglJqsMZPuLlhjPro6OWtjofLy/cbWaHNLz7APOkw~fhSvO9Qs5htGtwZaQZPwCbj4M7GTTvLDHHLQ2QXhkf2XqJc1RFP0MzcJ3~/yHcCdTp1y5JorOaLYmryoh9UxqJEzrv/Dq4m2q/Krv~F2t1R0Ym3PT6fSC9LfJwyTtzhyaZRGsdUnQNSKFV/efxcjEO5uEyIteOmrNjc1MStIc2tOk9BpX738IFz5tMdBWHjbXfUcKtUYfEGBaC65HVzQ/qrtktY9DRAXzBCISOkG73M3oTglDIetC9EzPBkh9~H47C0ImWycOztNe1ScfAWkKqJzpw4sG8j9ho9UAiEsw/J7kKWcTClP4L8qDAB3PIHdDksPI8iC=

// b
// 加密PKzx原始字符串:Win32^^zh-CN^^957^^Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36^^zh-CN,zh,ru^^-^^Mozilla^^1^^0^^Webkit-Chrome^^3220^^Google Chrome^^-^^1f2d82cb67327772481ce484582d66e4^^0_Windows_Google Chrome_129_Not=A?Brand_8_Chromium_129^^-^^zh-CN|Asia/Shanghai^^|||||^^1iqn68gcf
// 加密后密文:a/A9ZV03OND33NwOS/pR3ap~kXS/p3vG8QkQECciG4aLM3oBu6kR3J18rGtPiZz0AP0DHQGW59ISXnTYS1GZGGCIRQp~UyaEJxwPBDf81GK3K8wA2VQvd0o/g30t0YJHO3jlFzvqYyD1Sl6mF5b1bgJzuShLJwj0VI2AMOOU1PbagTclQ6kDSl18mUMtk6~9qsp52tZb/uzli9/ehEGkuILF3faGPtz1uqSLF1h492e6hW5Vyt1PFTjUAbYINf7/RyrL2~t/weAmHxR4MtSUB3Mblp9N2tFApci6VtrrRRYUtdbVqc8d6tRS113Ilu9PySGqdrWDG0S51eHxU7sM1td3S1NHqhA2GzdFYN3mhMTDqv4bk3E50IPxpB6kvtFvHIgV7gsix4axfh1WobBdSq6OPsxjTYgw5zJNXPdVBjetQ5wyekfLSvNwVmIRYYoK

// c
// 加密PKzx原始字符串:6ef4a53a32a3086171ad14d663a1e981^^-^^1920^^0^^Netscape^^11110^^0^^353be15001a81b646cb0efc52697492b^^1080^^https%3A%2F%2Fpassport.juneyaoair.com%2F%3FbackUrl%3Dhttps%253A%252F%252Fwww.juneyaoair.com%252Flogin%253Fredirect%253D%2525252F404^^1080^^-^^-^^2D4iNZH3H3DjeosOBK5ohVd4HuUUqJgOq7rBHj6OIrWQJwgUszvWG54DzbBSBD8w^^functiongetoffsetHeight(){[nativecode]}^^-^^e05f03ad63326a25f68027bbf74087df^^-^^-^^1iqn68gck
// 加密后密文:0u0smo2v8tCfMYEC9/zVuv6XnjDx820TaKwBhM2T5YpetOAVWfHBzih3~9r6PZy9Zpng6fCHkCQSvd1osCO5VQZHo0sB1GWobB/vLBzXb/RXAjlYFaUBJ6kJWbjV4DjsLVgulvSIlz8dfLHszZxwTVtYFFrP535kbkieiRj~3LsvpetToOuk7MC6OTCW~ZDdY9AOmacVW9eAyILGZHthh5yf6/CKMCIOhFRdzCmOSacqe~1gy38zDrs2QtQvBb40vV~0csjpgn61adOaA3qQsRMWpofnhhiIptr87hO4dvFujw9YZXXmOVkN3NgsigXL~OvNgWc6PftUJA8HyVL/SHde1q6q28FwDAuQz7TXPdLw/~sRqhfVYiBU90HzUJKvQlrm/Ho4yuP6HsjXpySdDIXJjKDmPpBYtIHeDPIKov67/G~kJEKm9WNwcU8uDeBUesBO0SBJN6iSPLI4iQO42FUaeJPYpoIUAhdy3EqkL1tlhvh6I0qFlt~fQj4WRiQsnQz8Ai4Tknn5pliORh4XG9FinB3Ip7b0KKw3F6IzD~e=

// d
// 加密PKzx原始字符串:-^^1920^^-^^12^^1920^^-^^1^^1903^^true_0_1_Infinity^^Google Inc. (Intel)-&-ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00009BC8) Direct3D11 vs_5_0 ps_5_0, D3D11)^^[object Window]^^functioncreateAnalyser(){[nativecode]}^^129.0.6668.100^^129.0.6668.100^^-^^-^^12546^^407_18_7108_0^^-^^218.76.22.217|^^1iqn68gd7
// 加密后密文:5AF8CgjGMLnlQgt11r4Pp4JCP/SxgrjT0Gqpem1MB/thfRoYSnE1Y/26Ho1Uvn4PfYzTIBJmAQlEK~CzJLCpYaMxvSKa~L~6Q1NCJlTT2gSlaq7oQ1ArkwU9aMS05hb3EDK5QCrz990gyN~UgRK2pXv4dnH7NgW1DNq97IIEqXMHbAPbY1MUcAD1H9KkfvLy/UOsF0SWkXXWA~pwDf6lW1hlnHFK1Ue9e2Orz~vOi2sqfz7fWvJRKkFPck5HX6/nxXrQtrll54fji5PpcxcwjixxnYvwrs3Pr3sZHlB4yBDvIUnmpTC9HPVEgAvHqArvI/iD9dcEN18O/Bf5ct0xrRjoVRR0R9kAqGL3vyg7TT5cqkYkyHzzPHNGGGdQe71e4WntX63KN8t/ssqaQzzwBNN0hdwgQPv2

// g
// 加密PKzx原始字符串:mtUnwKr3-1746668345385-ff11165bbbd58820425508^^8^^8^^33^^12^^1^^12^^functionenumerateDevices(){[nativecode]}^^functiontoDataURL(){[nativecode]}^^[objectPluginArray]^^functiontoString(){[nativecode]}^^-^^1^^functionRTCPeerConnection(){[nativecode]}^^-^^-^^1696.5823364257812^^-^^UTF-8^^-^^-^^1iqn68gdv
// 加密后密文:6L/At2A2whx~zHPERTPDQaiYRUhIkYLZgh~KBqH/dQuVI9fatCrPTzisfGy3VxKuECknwHt6uL9Dhg67MHq~fKiMTIHMlhUikJLUeDbmo1ohBM1vyQRjhnXKHK9v4nQC08Aq8tVZUH/FzZjB~~psTNJqyA2S~0tllzsPcglYnS2fz/yANHIutti7Nf~m1pKrhyJAzeOYz7KpuoHle67J2JLenIHm9EsVC0glNfcfJwly2Wt9JAVRHotdpUnAJrM9EKDEYOzGKaW2xpSBhqIesTsZUKo1Bv61MNjySGoADT87RWBKJG6CZYBB/pBE9GtPnfCsKXaawMN/zj4St8ucA6esdv~zAN7d5SJsDaHI2GMO5eYnOMjL2/6aNFRKIvfoaY5N9uSNVusnbpiOUu5Zga==

// f
// 加密PKzx原始字符串:1^^1^^0^^0^^0^^0
// 加密后密文:2bcrGLrksR8AdGNwoho~jHDyGmtsmAXi

// e
// COmn9YvVf4uNL5kRvfmvEKUgZnXUOqbntv0w1bhnvAvkkFFKhSdYePLOrr3I9g+IQrXC+GcYhwBT5mgL1rm8rMNlsgdIa7z6EkHyctrJ3mY=
// 是localStorage中的 1735D64331DF397E 值

// v js 版本号
// JZuFK8iZfzhZG+BaqcUjAgNuPh8lFrtHCX3Ev7uGAGTj9gLkI0nL5bb/QS7zhKew

// idf
//  base64(RSA_Public_Encrypt(timeStamp)).replace(/\s/g, "")

// w
// 加密PKzx原始字符串:JZuFK8iZfzhZG+BaqcUjAgNuPh8lFrtHCX3Ev7uGAGTj9gLkI0nL5bb/QS7zhKew
// 就是把v加密后的值
// 加密后密文:GPovRHiXimRME7mIvTpACYFqBYlegnTtiGh6a1MnOiw5BonUCnQXLPrY11S/I6reK63heVFuq0IGam/4MslcMF0EBqqM~jlk

// ct
// 加密PKzx原始字符串:3237
// 加密后密文:v9zcFcARcJm=

// _callback 时间戳 h 请求参数哈希128

对比差异

// 剩下的就是细心把差异部分调试分析一下,修改环境值
posted @ 2025-05-16 16:53  郭楷丰  阅读(134)  评论(1)    收藏  举报
Live2D