diff --git a/src/core/Player.ts b/src/core/Player.ts index b5cfac317..1345c9044 100644 --- a/src/core/Player.ts +++ b/src/core/Player.ts @@ -224,14 +224,21 @@ export default class Player { } static extractSigSourceCode(data: string): string { - const calls = getStringBetweenStrings(data, 'function(a){a=a.split("")', 'return a.join("")}'); + let calls = getStringBetweenStrings(data, 'function(a){a=a.split("")', 'return a.join("")}'); + let var_name = 'a'; + + if (!calls) { + calls = getStringBetweenStrings(data, 'function(J){J=J.split("")', 'return J.join("")}'); + var_name = 'J'; + } + const obj_name = calls?.split(/\.|\[/)?.[0]?.replace(';', '')?.trim(); const functions = getStringBetweenStrings(data, `var ${obj_name}={`, '};'); if (!functions || !calls) Log.warn(TAG, 'Failed to extract signature decipher algorithm.'); - return `function descramble_sig(a) { a = a.split(""); let ${obj_name}={${functions}}${calls} return a.join("") } descramble_sig(sig);`; + return `function descramble_sig(${var_name}) { ${var_name} = ${var_name}.split(""); let ${obj_name}={${functions}}${calls} return ${var_name}.join("") } descramble_sig(sig);`; } static extractNSigSourceCode(data: string): string | undefined {