Commit 636b2799 authored by wang's avatar wang

11

parent bf3cdf88
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -18,95 +18,131 @@ let ast = parser.parse(sourceCode);
console.time("处理完毕,耗时");
function ca() {
var t = ["performance", "architecture", "CCtiB0xncQ", "outerHeight", "CCtiBE9gcQ", "atob", "CCtiB0hscw", "CCtiB0theA", "showModalDialog", "permissions", "bind", "saveData", "ancestorOrigins", "pageXOffset", "getEntries", "[object MSPluginsCollection]", "keys", "CCtiBEptdg", "MatchesSelector", "innerWidth", "CCtiBEFmeA", "CCtiBExlcg", "CCtiB0hkeQ", "CCtiB0pmcQ", "CCtiBExhcQ", "isibilityState", "CCtiB0pteA", "CCtiBExjcA", "CCtiBExheQ", "CCtiBEpgdw", "CCtiB0pgdw", "getBattery", "CCtiB0tjcQ", "2215730wApppW", "userAgent", "CCtiB0xkcQ", "timing", "CCtiB0xteA", "CCtiB0lneA", "CCtiBEFhcQ", "CCtiBExkdg", "CCtiB0lieA", "moz", "CCtiBE9tdQ", "navigation", "setTimeout", "runtime", "language", "CCtiBE9jcg", "3548624eVxoLf", "setInterval", "CCtiBE9gcA", "message", "notify", "CCtiBEFsdg", "elementFromPoint", "uaFullVersion", "CCtiBEBscA", "getBoundingClientRect", "[object Geolocation]", "CCtiBE1jdQ", "webkit", "CCtiBExneA", "CCtiB01idg", "CCtiB0pkeQ", "ondeviceready", "Content Security Policy", "standalone", "CCtiBEFhcg", "input", "CCtiB01hdg", "cookie", "outerWidth", "CCtiB0xldw", "getOwnPropertyDescriptor", "CCtiBEFncA", "CCtiBE1sdQ", "ActiveXObject", "CCtiBE9gdg", "2,10", "CCtiBE5ldA", "localStorage", "CCtiB0thcA", "Performance", "CCtiBExjdQ", "CCtiB0xseQ", "CCtiB0xkcw", "AudioWorkletNode", "CCtiB0xkcA", "BatteryManager", "CCtiB01geQ", "mimeTypes", "CCtiB0lgdQ", "cookieEnabled", "7569CWByvU", "CCtiB0hlcw", " Safari/", "geb", "hidden", "CCtiBEBgeA", "CCtiB01hcg", "CCtiB01ncA", "battery", "isSecureContext", "type", "instantiate", "CCtiBE1ieA", "CCtiB0pgcQ", "CCtiBE9mdw", "CCtiBEFhdg", "scrollX", "appVersion", "CCtiB0xleA", "CCtiB0xhdQ", "_Selenium_IDE_Recorder", "CCtiBExicQ", "CCtiB0lmdg", "CCtiB0hlcQ", "pixelDepth", "CCtiB0tscA", "CCtiBEplcg", "CCtiBEptcQ", "bmF2aWdhdG9yLndlYmRyaXZlcg==", "[object HTMLPluginsCollection]", "CCtiB0xndg", "CCtiBEFkcw", "CCtiB01jdQ", "CCtiBEpmdg", "PointerEvent", "external", "userAgentData", "offsetHeight", "bmF2aWdhdG9yLnVzZXJBZ2VudA==", "CCtiBEBmeQ", "Hidden", "CCtiBE5seQ", "buildID", "test", "DateTimeFormat", "CCtiBExmeQ", "16528IoCryd", "CCtiB0ltcA", "dG90YWxKU0hlYXBTaXpl", "spawn", "colorDepth", "CCtiB0hgcQ", "CCtiB0xkcg", "CCtiB0xsdg", "CCtiBE1gcw", "missing", "CCtiBE9lcw", "deviceMemory", "CCtiBEpteA", "substring", "CCtiBExkdA", "CCtiBExndQ", "CCtiBEpheA", "emit", "innerHeight", "EventSource", "CCtiBE5meQ", "CCtiBExndw", "scrollY", "documentElement", "fontFromResourceApi", "product", "hasOwnProperty", "CCtiB0ltcQ", "offsetWidth", "cssFromResourceApi", "CCtiBE1tcQ", "imgFromResourceApi", "addEventListener", "CCtiBE9tcg", "[object MimeTypeArray]", "CCtiB0phdg", "setItem", "sort", "null", "Buffer", "CCtiB0ticA", "[object PluginArray]", "RequestAnimationFrame", "CCtiB0ttdw", "__webdriver_script_fn", "cssFromStyleSheets", "tagName", "visibility", "orientation", "CCtiB0hneQ", "577778dvtIDS", "CCtiB0psdg", "CCtiB0tldg", "4990314ntbvEa", "CCtiBExgdA", "connection", "CCtiB0ljeA", "true", "CCtiB0tgdQ", "productSub", "CCtiB0llcg", "TouchEvent", "maxTouchPoints", "CCtiBEpieQ", "toString", "indexOf", "get", "CCtiB0hncA", "CCtiB0lmdw", "_cordovaNative", "CCtiBE9ncA", "CCtiBE1leA", "Worklet", "length", "CCtiBE9ieQ", "openDatabase", "getPrototypeOf", "enabledPlugin", "CCtiBExncw", "CCtiB0xldg", "getTime", "visible", "downlink", "CCtiB01tcg", "CCtiBE1jcQ", "mobile", "bitness", "aGFyZHdhcmVDb25jdXJyZW5jeQ==", "CCtiB01heA", "domAutomation", "CCtiBExidw", "platformVersion", "CCtiB0ptdg", "CCtiB0lncA", "sendBeacon", "CCtiB0hjeA", "CCtiBEpicA", "CCtiBEFtcg", "CCtiBEFidg", "CCtiBEpicw", "doNotTrack", "d2ViZHJpdmVy", "CCtiBExmcg", "voiceURI", "CCtiB0pldQ", "availHeight", "pageYOffset", "platform", "CCtiBEFldQ", "CCtiBEFmcg", "CCtiB0pmdA", "CCtiBE9tcA", "CCtiBE1hdw", "PX12073", "undefined", "CCtiBE5gdQ", "label", "Android", "CCtiB0hndQ", "plugins", "appCodeName", "appName", "push", "webView", "chrome", "awesomium", "1505805tVSLGa", "bWVtb3J5", "CCtiBExsdg", "fmget_targets", "CCtiBE5lcA", "CCtiBE9idQ", "CCtiBEFtdw", "CCtiBExneQ", "map", "CCtiBE9leA", "18390BYDaFP", "html", "CCtiB01ncQ", "CCtiB0xheA", "(pointer:fine)", "name", "WebAssembly", "v8Locale", "CCtiB0lncg", "CCtiBE9heA", " Mobile/", "CCtiBE5scA", "CCtiB0pkdg", "CCtiB0tldQ", "T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcg==", "CCtiBEBtdQ", "caches", "(any-hover: none), (any-pointer: coarse)", "callPhantom", "forEach", "dispatchEvent", "prototype", "CCtiBE5tcA", "CCtiBExmeA", "matches", "__nightmare", "query", "getTimezoneOffset", "CCtiBE9hdA", "referrer", "dXNlZEpTSGVhcFNpemU=", "self", "getComputedStyle", "RunPerfTest", "CCtiBEFtcA", "console", "split", "random", "onorientationchange", "add", "Date", "call", "getElementsByTagName", "CCtiB0pidg", "CCtiBEFjdg", "effectiveType", "CCtiBE9mcw", "CCtiB0xhdg", "top", "item", "CCtiB0phcQ", "pdfViewerEnabled", "24qvrCbm", "matchMedia", "CCtiBE1mcA", "documentMode", "constructor", "requestAnimationFrame", "CCtiB01kcA", "CCtiB0pkdQ", "CCtiBE5hdw", "AudioWorklet", "geolocation", "CCtiB01ndw", "CCtiB01gdQ", "CCtiB0xleQ", "CCtiBEBleQ", "CCtiB0lgcg", "anNIZWFwU2l6ZUxpbWl0", "getAttribute", "domAutomationController", "CCtiB0xlcA", "CCtiB0hmcg", "CCtiBExtcg", "onLine", "CCtiBEFheA", "CCtiBEFmdg", "CCtiBEFneA", "msDoNotTrack", "CCtiB0xgcQ", "CCtiBEpscQ", "format", "shift", "CCtiBE5ncg", "CCtiB0xndQ", "brands", "CCtiB0xjeQ", "model", "value", "log", "defaultView", "languages", "CCtiB0xheQ", "ontouchstart", "height", "XDomainRequest", "CCtiB01mcA", "width", "availWidth", "rtt", "CCtiB01leQ", "CCtiBE1ldw", "CCtiBEptdQ"];
return (ca = function() {
return t
}
)()
function getRandomName(length) {
let initArr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
let puzzleArr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
let ranInx = Math.floor(Math.random() * initArr.length);
let randomName = initArr[ranInx];
for (var i = 1; i < length; i++) {
ranInx = Math.floor(Math.random() * puzzleArr.length);
randomName += puzzleArr[ranInx];
}
!function(t, e) {
for (var n = 318, r = 540, i = 394, a = 556, o = 404, c = 456, u = 321, l = 268, s = 222, f = Aa, h = t(); ; )
try {
if (639038 === parseInt(f(n)) / 1 + parseInt(f(r)) / 2 + parseInt(f(i)) / 3 + parseInt(f(a)) / 4 + parseInt(f(o)) / 5 * (parseInt(f(c)) / 6) + -parseInt(f(u)) / 7 + parseInt(f(l)) / 8 * (-parseInt(f(s)) / 9))
break;
h.push(h.shift())
} catch (t) {
h.push(h.shift())
}
}(ca);
function Aa(t, e) {
var n = ca();
return (Aa = function (t, e) {
return n[t -= 207]
})(t, e)
}
function Io(t, e) {
var n = ca();
return (Io = function (t, e) {
return n[t -= 111];
})(t, e);
return randomName;
}
let funcNames = []
traverse(ast, {
let allNewNames = new Map(); //定义一个全局变量,保存需要处理的函数
function getUnusedIdentifier() {//获取未被使用的名称,返回 Identifier 类型。
do {
var newName = "$C_" + getRandomName(3);
} while (allNewNames.has(newName))
allNewNames.set(newName, 1);
let UnusedIdentifier = types.Identifier(newName);
return UnusedIdentifier;
}
const renameFunc =
{
FunctionDeclaration(path) {
let node = path.node;
if (node.id.name === 'Aa') {
let code = generator(node).code;
if (code.includes('Aa = function ')) {
console.log(node.id.name)
let scope = path.parentPath.parentPath.scope;
getBinding(scope, node.id.name, e => {
// console.log(e.parent.type, generator(e.parent).code)
if (types.isVariableDeclarator(e.parent)) {
let initIdName = e.parent.id.name;
funcNames.push(initIdName)
getBinding(e.parentPath.parentPath.parentPath.parentPath.scope, initIdName, (i => {
// console.log(initIdName, i.parent.type )
if (types.isCallExpression(i.parent)) {
// console.log(generator(i.parent).code)
let {arguments} = i.parent
if (arguments.length === 1 && types.isNumericLiteral(arguments[0])) {
let value = Aa(arguments[0].value)
console.log(arguments[0].value, value)
i.parentPath.replaceWith(types.StringLiteral(value))
let {node, parentPath} = path;
let {id, params, body} = node;
let name = id.name;
}
if (params.length != 2 || body.body.length != 1 ||
!types.isReturnStatement(body.body[0]) || !types.isCallExpression(body.body[0].argument)) {
return;
}
}))
} else if (types.isCallExpression(e.parent)) {
let {arguments} = e.parent
if (arguments.length === 1 && types.isNumericLiteral(arguments[0])) {
let value = Io(arguments[0].value)
e.parentPath.replaceWith(types.StringLiteral(value))
let binding = parentPath.scope.getBinding(name);
if (!binding || !binding.constant) {
return;
}
console.log('getName', name)
let newNameId = getUnusedIdentifier();
for (let referPath of binding.referencePaths) {
referPath.replaceWith(newNameId);
}
})
let newName = newNameId.name;
allNewNames.set(newName, name)
path.node.id.name = newName;
}
}
traverse(ast, renameFunc);
}
})
allNewNames.clear();
console.log(funcNames)
traverse(ast, {
CallExpression(path) {
let node = path.node;
let {callee, arguments} = node;
if (funcNames.includes(callee.name) && arguments.length === 1 && types.isNumericLiteral(arguments[0])){
let value = Aa(arguments[0].value)
console.log(callee.name, arguments[0].value , value)
if (value)path.replaceWith(types.StringLiteral(value))
let funcNames = []
// traverse(ast, {
// FunctionDeclaration(path) {
// let node = path.node;
// if (node.id.name === 'Aa') {
// let code = generator(node).code;
// if (code.includes('Aa = function ')) {
// console.log(node.id.name)
// let scope = path.parentPath.parentPath.scope;
// getBinding(scope, node.id.name, e => {
// // console.log(e.parent.type, generator(e.parent).code)
// if (types.isVariableDeclarator(e.parent)) {
// let initIdName = e.parent.id.name;
// funcNames.push(initIdName)
// getBinding(e.parentPath.parentPath.parentPath.parentPath.scope, initIdName, (i => {
// // console.log(initIdName, i.parent.type )
//
// if (types.isCallExpression(i.parent)) {
// // console.log(generator(i.parent).code)
// let {arguments} = i.parent
// if (arguments.length === 1 && types.isNumericLiteral(arguments[0])) {
// let value = Aa(arguments[0].value)
// console.log(arguments[0].value, value)
// i.parentPath.replaceWith(types.StringLiteral(value))
//
// }
// }
//
// }))
// } else if (types.isCallExpression(e.parent)) {
// let {arguments} = e.parent
// if (arguments.length === 1 && types.isNumericLiteral(arguments[0])) {
// let value = Io(arguments[0].value)
// e.parentPath.replaceWith(types.StringLiteral(value))
//
// }
// }
// })
//
//
// }
// }
//
//
// }
// })
}
}
})
console.log(funcNames)
// traverse(ast, {
// CallExpression(path) {
// let node = path.node;
// let {callee, arguments} = node;
// if (funcNames.includes(callee.name) && arguments.length === 1 && types.isNumericLiteral(arguments[0])){
// let value = Aa(arguments[0].value)
// console.log(callee.name, arguments[0].value , value)
// if (value)path.replaceWith(types.StringLiteral(value))
//
// }
// }
// })
function n(n) {
for (var i = atob(n), l = "IkEiYF9", a = "", c = 0; c < i.length; ++c) {
......@@ -127,50 +163,50 @@ function getBinding(scope, name, func) {
}
traverse(ast, {
FunctionDeclaration(path) {
let node = path.node;
if (node.id.name === 'i') {
let code = generator(node).code;
if (code.includes('charCodeAt')) {
// console.log(node.id.name)
let scope = path.parentPath.parentPath.scope;
getBinding(scope, node.id.name, e => {
// console.log(e.parent.type, generator(e.parent).code)
if (types.isVariableDeclarator(e.parent)) {
let initIdName = e.parent.id.name;
getBinding(e.parentPath.parentPath.parentPath.scope, initIdName, (i => {
// console.log(initIdName, i.parent.type )
if (types.isCallExpression(i.parent)) {
// console.log(generator(i.parent).code)
let {arguments} = i.parent
if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
let value = n(arguments[0].value)
// console.log(arguments[0].value, value)
i.parentPath.replaceWith(types.StringLiteral(value))
}
}
}))
} else if (types.isCallExpression(e.parent)) {
let {arguments} = e.parent
if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
let value = n(arguments[0].value)
e.parentPath.replaceWith(types.StringLiteral(value))
}
}
})
}
}
}
})
// traverse(ast, {
// FunctionDeclaration(path) {
// let node = path.node;
// if (node.id.name === 'i') {
// let code = generator(node).code;
// if (code.includes('charCodeAt')) {
// // console.log(node.id.name)
// let scope = path.parentPath.parentPath.scope;
// getBinding(scope, node.id.name, e => {
// // console.log(e.parent.type, generator(e.parent).code)
// if (types.isVariableDeclarator(e.parent)) {
// let initIdName = e.parent.id.name;
// getBinding(e.parentPath.parentPath.parentPath.scope, initIdName, (i => {
// // console.log(initIdName, i.parent.type )
//
// if (types.isCallExpression(i.parent)) {
// // console.log(generator(i.parent).code)
// let {arguments} = i.parent
// if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
// let value = n(arguments[0].value)
// // console.log(arguments[0].value, value)
// i.parentPath.replaceWith(types.StringLiteral(value))
//
// }
// }
//
// }))
// } else if (types.isCallExpression(e.parent)) {
// let {arguments} = e.parent
// if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
// let value = n(arguments[0].value)
// e.parentPath.replaceWith(types.StringLiteral(value))
//
// }
// }
// })
//
//
// }
// }
//
//
// }
// })
function H(t) {
return f(U) === "function" ? U(t) : function (t) {
......@@ -194,19 +230,19 @@ function H(t) {
}(t);
}
traverse(ast, {
CallExpression(path) {
let node = path.node;
if (node.callee.name === 'H') {
let {arguments} = node
if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
let value = atob(arguments[0].value)
path.replaceWith(types.StringLiteral(value))
}
}
}
})
// traverse(ast, {
// CallExpression(path) {
// let node = path.node;
// if (node.callee.name === 'H') {
// let {arguments} = node
// if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
// let value = atob(arguments[0].value)
// path.replaceWith(types.StringLiteral(value))
//
// }
// }
// }
// })
// 常量还原
function isNodePure(node, scope) {
......@@ -265,22 +301,23 @@ function isNodePure(node, scope) {
return false;
}
// traverse(ast,{
// VariableDeclaration(path) {
// let {node} = path;
// let {declarations} = node;
// let res = [];
// if (!declarations || declarations.length == 1)return
// for (let i = 0; i < declarations.length; i++) {
// let declaration = declarations[i];
// res.push(types.VariableDeclaration('var', [declaration]))
// }
// path.replaceWithMultiple(res)
// path.skip()
//
// }
// })
traverse(ast, {
VariableDeclaration(path) {
let {node} = path;
let {declarations} = node;
let res = [];
// console.log(path.parentPath.type)
if (types.isForStatement(path.parentPath)) return
if (!declarations || declarations.length == 1) return
for (let i = 0; i < declarations.length; i++) {
let declaration = declarations[i];
res.push(types.VariableDeclaration('var', [declaration]))
}
path.replaceWithMultiple(res)
path.skip()
}
})
const restoreVarDeclarator = {
......@@ -288,7 +325,8 @@ const restoreVarDeclarator = {
VariableDeclarator(path) {
let scope = path.scope;
let {id, init} = path.node;
if (!init && (!types.isNumericLiteral(init) || !types.isStringLiteral(init))) return
if (id.name === 'c' && init.value === 0) return
if (!types.isIdentifier(id) || !isNodePure(init, scope)) {
return;
}
......@@ -310,7 +348,8 @@ const restoreVarDeclarator = {
if (constant || constantViolations[0] == path) {
for (let referPath of referencePaths) {
console.log(id.name, referPath.type, generator(referPath.container).code)
// console.log(init.value)
// console.log(id.name, referPath.type, generator(referPath.container).code, generator(init).code)
referPath.replaceWith(init);
}
// console.log(path.toString())
......@@ -318,7 +357,309 @@ const restoreVarDeclarator = {
}
},
}
// traverse(ast, restoreVarDeclarator)
traverse(ast, restoreVarDeclarator)
//还原object
traverse(ast, {
VariableDeclaration(path) {
let {scope, node} = path;
let {declarations} = node;
if (!declarations) return
if (declarations.length !== 1) return;
let {id, init} = declarations[0]
if (!types.isObjectExpression(init)) return
let {properties} = init;
if (properties.length === 0) return;
for (let i = 0; i < properties.length; i++) {
let {key, value} = properties[i];
if (!types.isNumericLiteral(value)) return
}
let binding = scope.getBinding(id.name);
if (!binding) return
let {constant, referencePaths, constantViolations} = binding;
if (!constant) {//新版本的babel库,在循环里面的变量定义,默认非常量
if (constantViolations.length != 1 || constantViolations[0] != path) //旧版本屏蔽该行即可
{
return;
}
}
let newMap = new Map();
for (const property of properties) {
let {key, value} = property;
newMap.set(key.name, value);
}
let canBeRemoved = true;
for (const referPath of referencePaths) {
let {parentPath} = referPath;
if (!parentPath.isMemberExpression()) {
canBeRemoved = false;
return;
}
let AncestorPath = parentPath.parentPath;
if (AncestorPath.isAssignmentExpression({"left": parentPath.node})) {
canBeRemoved = false;
return;
}
if (AncestorPath.isUpdateExpression() && ['++', '--'].includes(AncestorPath.node.operator)) {
canBeRemoved = false;
return;
}
let curKey = parentPath.node.property.name;
if (!newMap.has(curKey)) {
canBeRemoved = false;
break;
}
parentPath.replaceWith(newMap.get(curKey));
}
canBeRemoved && path.remove();
newMap.clear();
}
})
let funcs = {};
traverse(ast, {
FunctionDeclaration(path) {
let {id, body} = path.node;
let scope = path.scope;
if (body.body.length !== 2) return
if (!types.isVariableDeclaration(body.body[0]) || !types.isReturnStatement(body.body[1])) return
let {declarations} = body.body[0];
if (declarations.length !== 1) return;
let declaration = declarations[0];
if (types.isArrayExpression(declaration.init)) {
let elements = declaration.init.elements;
if (elements.length === 0) return
for (let i = 0; i < elements.length; i++) {
if (!types.isStringLiteral(elements[i])) {
return;
}
}
// console.log(generator(path.node).code)
// let {id} = parentPath.parentPath.node
funcs[id.name] = {
array: generator(path.node).code
}
}
}
})
traverse(ast, {
FunctionDeclaration(path) {
let {id, body} = path.node;
if (body.body.length !== 2) return
if (!types.isVariableDeclaration(body.body[0]) || !types.isReturnStatement(body.body[1])) return
let {declarations} = body.body[0];
if (declarations.length !== 1) return;
let declaration = declarations[0];
let {node, scope} = path;
if (!types.isCallExpression(declaration.init)) {
return
}
if (Object.keys(funcs).includes(declaration.init.callee.name)) {
funcs[declaration.init.callee.name]['call'] = generator(node).code
funcs[declaration.init.callee.name]['name'] = id.name
}
}
})
traverse(ast, {
UnaryExpression(path) {
let {id, body} = path.node;
let {node, scope} = path;
let {operator, argument} = node;
if (operator !== '!') return
let {callee, arguments} = argument;
if (!arguments) return
if (arguments.length !== 1) return
let arg = arguments[0]
if (!types.isIdentifier(arg)) return
if (Object.keys(funcs).includes(arg.name)) {
funcs[arg.name]['rever'] = generator(node).code
}
}
})
// console.log(funcs)
var newMap = {}
let keys = Object.keys(funcs);
let keys2 = [];
for (let i = 0; i < keys.length; i++) {
newMap[funcs[keys[i]].name] = funcs[keys[i]]
keys2.push(funcs[keys[i]].name)
}
var map2 = {};
// 开始还原
let funcTemp = {}
for (let j = 0; j < 3; j++) {
traverse(ast, {
VariableDeclaration(path) {
let {declarations} = path.node;
let scope = path.scope;
if (declarations.length !== 1) return;
let declaration = declarations[0]
let {id, init} = declaration;
if (!init) return
if (!types.isIdentifier(init)) return;
if (init.name === '$d') {
debugger;
}
if (keys2.includes(init.name)) {
let t = newMap[init.name];
let jsCode = t.array + ';' + t.rever + ';' + t.call;
// console.log(jsCode)
jsCode = `funcTemp.${t.name} = function(t,e){
${jsCode}
return ${t.name}(t,e)
}`
eval(jsCode)
// console.log('eval', t.name)
keys2.push(id.name)
newMap[id.name] = t;
map2[id.name] = t.name
funcTemp[id.name] = funcTemp[t.name]
map2[init.name] = t.name
let binding = scope.getBinding(id.name);
if (!binding) return;
console.log(id.name, init.name, keys2.includes(init.name), binding.references)
if (id.name === 'zo') {
// console.log(id.name, init.name, keys2.includes(init.name), binding.references)
debugger
}
for (const referencePath of binding.referencePaths) {
// console.log(referencePath.parentPath.type);
if (types.isCallExpression(referencePath.parent)) {
let {callee, arguments} = referencePath.parent;
if (id.name === 'zo') {
// console.log(generator(referencePath.parentPath.node).code)
}
if (arguments.length === 1 && types.isNumericLiteral(arguments[0])) {
let res = funcTemp[t.name](arguments[0].value)
if (id.name === 'zo') {
// console.log(arguments[0].value, res)
}
referencePath.parentPath.replaceWith(types.StringLiteral(res))
}
}
}
}
}
})
}
// traverse(ast, {
// CallExpression(path) {
// let {callee, arguments} = path.node;
// if (map2[callee.name]){
// if (arguments.length === 1 && types.isNumericLiteral(arguments[0])) {
// let res = funcTemp[callee.name](arguments[0].value)
// console.log(callee.name, arguments[0].value, res)
// if (!res)return
// // if (id.name === 'zo') {
//
// // console.log(arguments[0].value, res)
// // }
// path.replaceWith(types.StringLiteral(res))
// }
// }
//
// }
// })
console.log(keys2 + '')
function t() {
return Date.now();
}
var i = function () {
try {
if (atob && "test" === atob("dGVzdA==")) return atob;
} catch (t) {
}
function t(t) {
this.message = t;
}
t.prototype = new Error(), t.prototype.name = "InvalidCharacterError";
return function (e) {
var n = String(e).replace(/[=]+$/, "");
if (n.length % 4 == 1) throw new t("'atob' failed: The string to be decoded is not correctly encoded.");
for (var r, i, a = 0, o = 0, c = ""; i = n.charAt(o++); ~i && (r = a % 4 ? 64 * r + i : i, a++ % 4) ? c += String.fromCharCode(255 & r >> (-2 * a & 6)) : 0) i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);
return c;
};
}();
function o(n) {
var r = t();
for (var c = i(n), u = "", l = 0; l < c.length; ++l) {
var s = "XsS5yUA".charCodeAt(l % 7);
u += String.fromCharCode(s ^ c.charCodeAt(l));
}
return u;
}
traverse(ast, {
VariableDeclaration(path) {
let {declarations} = path.node;
let scope = path.scope;
if (declarations.length !== 1) return;
let declaration = declarations[0]
let {id, init} = declaration;
if (!init) return
if (!types.isIdentifier(init)) return;
if (init.name === 'o') {
let binding = scope.getBinding(id.name);
if (id.name === 'xs') {
debugger
}
if (!binding) return;
// console.log(id.name, init.name, binding.references)
for (const referencePath of binding.referencePaths) {
// console.log(referencePath);
// console.log(generator(referencePath.parent).code)
// console.log(referencePath.parentPath.type)
if (types.isCallExpression(referencePath.parent)) {
let {callee, arguments} = referencePath.parent;
if (arguments.length === 1 && types.isStringLiteral(arguments[0])) {
let res = o(arguments[0].value)
// if (id.name === 'xs') {
//
// console.log(generator(referencePath.parent).code, res)
// }
referencePath.parentPath.replaceWith(types.StringLiteral(res))
}
} else {
}
}
}
}
})
//end
......
This source diff could not be displayed because it is too large. You can view the blob instead.
```js
[{
"t": "PX11590",
"d": {
"PX11431": 1692951652694,
"PX12069": ["PDF Viewer", "Chrome PDF Viewer", "Chromium PDF Viewer", "Microsoft Edge PDF Viewer", "WebKit built-in PDF"],
"PX12286": 5,
"PX11576": true,
"PX12318": true,
"PX11384": true,
"PX11886": true,
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX11754": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12037": true,
"PX11390": -480,
"PX11621": 8,
"PX11657": 4,
"PX12081": "Gecko",
"PX11908": "20030107",
"PX12314": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX11829": true,
"PX11464": true,
"PX12054": 2,
"PX11821": "Netscape",
"PX11479": "Mozilla",
"PX11674": true,
"PX12241": 650,
"PX11372": false,
"PX11683": 1.4,
"PX11561": "3g",
"PX11877": true,
"PX12100": true,
"PX12506": "arm",
"PX12507": "64",
"PX12508": [{
"brand": "Not/A)Brand",
"version": "99"
}, {
"brand": "Google Chrome",
"version": "115"
}, {
"brand": "Chromium",
"version": "115"
}],
"PX12509": false,
"PX12510": "",
"PX12511": "macOS",
"PX12512": "13.5.0",// platformVersion
"PX12513": "115.0.5790.170",// Mu["uaFullVersion"]
"PX12548": true,
"PX12549": true,
"PX12278": true,
"PX11694": false,
"PX12294": false,
"PX12514": true,
"PX12515": "TypeError: Cannot read properties of undefined (reading 'width')",
"PX12516": "webkit",
"PX12517": 33,
"PX12518": false,
"PX12545": false,
"PX12593": false,
"PX12595": "AudioData.SVGAnimatedAngle.SVGMetadataElement",
"PX11804": "71f526db5d6f3ab719473db7791e4821",// uuid 转换
"PX12118": "cjk68p4ck8puaoo8tgc0",// 第一步返回 0ll0ll
"PX11746": "4cd10383c35e63adbb6c4982d8fc63ff",// _pxvid
"PX11371": "4fb78e5750f59dd35423b2da8ae2f77b",// pxsid sessionStorage
"PX12501": "e5e8bc8df2602d2d3877dd2f83c1c044",// px_hvd localStorage
"PX11303": false,
"PX11515": false,
"PX12133": false,
"PX12340": false,
"PX11738": false,
"PX11723": false,
"PX11389": false,
"PX11839": false,
"PX11460": false,
"PX12102": false,
"PX11378": false,
"PX12317": false,
"PX12588": "webkit",
"PX12551": "https:",
"PX12553": "Asia/Shanghai",
"PX12567": "w3c",
"PX12576": "screen",
"PX12555": {
"plugext": {
"0": {
"f": "internal-pdf-viewer",
"n": "PDF Viewer"
},
"1": {
"f": "internal-pdf-viewer",
"n": "Chrome PDF Viewer"
},
"2": {
"f": "internal-pdf-viewer",
"n": "Chromium PDF Viewer"
},
"3": {
"f": "internal-pdf-viewer",
"n": "Microsoft Edge PDF Viewer"
},
"4": {
"f": "internal-pdf-viewer",
"n": "WebKit built-in PDF"
}
},
"plugins_len": 5
},
"PX12583": {
"smd": {
"ok": true,
"ex": false
}
},
"PX12578": {},
"PX12594": false,
"PX12566": false,
"PX12571": "46ef8eb2",// allowedFeatures();
"PX12579": {
"support": true,
"status": {
"effectiveType": "3g",
"rtt": 650,
"downlink": 1.4,
"saveData": false
}
},
"PX12581": "default",
"PX12582": 3,
"PX12587": false,
"PX11843": 1920,// screen["width"]
"PX11781": 1080,// screen["height"]
"PX12121": 1920,// screen["availWidth"
"PX12128": 1055,// screen["availHeight"]
"PX12387": "1920X1080",// F + "X" + N
"PX12003": 24,// screen["pixelDepth"]
"PX11380": 24,// screen["colorDepth"]
"PX11494": 658,// v["innerWidth"]
"PX12411": 853,// v["innerHeight"]
"PX12443": 0,// v["scrollX"]
"PX12447": 0,// v["scrollY"]
"PX11533": true,// !(0 === v["outerWidth"] && 0 === v["outerHeight"])
"PX12079": false,// v["hasOwnProperty"]("_cordovaNative") || v["hasOwnProperty"]("Ti") || v["hasOwnProperty"]("webView") || v["hasOwnProperty"]("Android") || p["hasOwnProperty"]("ondeviceready") || m["hasOwnProperty"]("standalone") || v["external"] && "notify" in v["external"] || m["userAgent"]["indexOf"](" Mobile/") > 0 && -1 === m["userAgent"]["indexOf"](" Safari/");
"PX11701": "17530309285577018446",
"7135656?4>331167>220": "4206565<7=002254=113",
"PX12454": 2858,
"PX11508": "49e5084e",
"PX11452": "7c5f9724",
"PX12218": "65d826e0",
"PX12481": "a9269e00",
"PX11780": "50a5ec55",
"PX11539": "3257c57a",// Me(console.log)
"PX11528": "",// Object["getOwnPropertyDescriptor"](HTMLDocument["prototype"], "cookie")["get"]
"PX12271": "10207b2f",// Va(Object["prototype"]["toString"])
"PX11849": "10207b2f",// return Va(m["toString"]);
"PX12464": "90e65465",// Me("" + (e["get"] || "") + (e["value"] || ""))
"PX11356": true,
"PX12426": true,
"PX11791": true,
"PX11517": true,
"PX12520": true,
"PX12524": "4YC14YCd4YCd4YCV4YCe4YCX4YGS5J256aus7r266YaI5oCR7r27",// Pu = speechSynthesis.getVoices() is(Pu[161].voiceURI)
"PX12527": "3207084bd110f1ac964863e23aa78e04",// '1970/1/1'
"PX12260": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12249": false,
"PX11897": "90e65465",// 固定
"PX12207": 0,// v["self"] === v["top"] ? 0 : 1
"PX11538": 2,// history.length
"PX11984": "TypeError: Cannot read properties of null (reading '0')at xe (https://client.px-cloud.net/PXVb73hTEg/main.min.js:909:13)at Ea (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2195:30)at Ba (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2174:23)at https://client.px-cloud.net/PXVb73hTEg/main.min.js:2398:9",
"PX11645": "https://www.flyfrontier.com/",// href
"PX11597": [],// location.ancestorOrigins
"PX12023": "",// document.referrer
"PX11337": false,// window.hasOwnProperty('onorientationchange')
"PX12330": "109|66|66|70|80",// ["webstore", 'runtime', 'app', "csi", "loadTimes"];构造函数 长度
"PX11705": 1128,// fetch+''
"PX11938": true,// caches
"PX11602": true,// caches
"PX12021": "false",// webdriver
"PX12421": "false",// webdriver
"PX12124": 1,// 'webdriver' in navigator?1:0
"PX11609": 1,// 'webdriver' in navigator?1:0
"PX12291": "",
"PX11881": ["loadTimes", "csi", "app"],// chrome 属性
"PX11529": 70523678,// usedJSHeapSize
"PX11555": 4294705152,// jsHeapSizeLimit
"PX11833": 83141658,// totalJSHeapSize
"PX11840": "Fri Aug 25 2023 16:20:55 GMT+0800 (中国标准时间)",
"PX11526": false,
"PX11684": false,
"PX11812": false,
"PX12335": true,
"PX12080": 0,
"PX11678": false,
"PX11349": "visible",
"PX12397": false,
"PX11387": 0,
"PX12150": 1920,
"PX12304": true,
"PX11651": 970,
"PX11867": "missing",
"PX12254": true,
"PX11540": true,
"PX11548": false,
"PX11446": true,
"PX12550": 1,
"PX12431": 0,
"PX11991": 10,
"PX11837": 41,
"PX11632": 0,
"PX11409": 9,
"PX12573": "e2a83675",
"PX12597": 1,
"PX12544": true,// !(!window["WebAssembly"] || !window["WebAssembly"]["instantiate"])
"PX12589": "succeeded",// 执行 wasm 结果?
"PX11524": true,// wasm 计算结果
"PX12169": 2,
"PX11902": 1,
"PX11560": 14719,
"PX11332": 1692951655754,
"PX12248": 3600,
"PX11385": 1692951645931,
"PX12280": 1692951656463,
"PX11496": "4a47ad90-4320-11ee-bda7-e188a22af0a3",
"PX12564": null,
"PX12565": -1
}
}, {
"t": "PX11547",
"d": {
"PX12492": "c505c10e26a1b7a7741437db9f82916b",
"PX12570": "78f763eab3a2082c63c66cf47f9e05a0",
"PX11352": "e089aa3d700a35da7244dd4da7a68f9c",
"PX12292": "WebKit",
"PX11811": [],
"PX11567": "WebKit WebGL",
"PX12032": "WebGL 1.0 (OpenGL ES 2.0 Chromium)",
"PX11536": ["ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth", "EXT_shader_texture_lod", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "EXT_sRGB", "KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear", "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders", "WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBGL_multi_draw"],
"PX12149": ["[1, 1]", "[1, 64]", 8, "yes", 8, 24, 8, 16, 32, 16384, 1024, 16384, 16, 16384, 31, 16, 16, 1024, "[16384, 16384]", "no_fp", 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127],
"PX12352": "Google Inc. (Apple)",
"PX11455": "ANGLE (Apple, Apple M1 Max, OpenGL 4.1)",
"PX11534": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
"PX12503": "d9153fa5509ac1e988e36776dd8d598a",
"PX12502": "32fe0262ba56767dfd83466855e47bec",
"PX11927": "a02e9e2368744e62770d4a78862f75fa",
"PX12572": "7ec700f02277463745cc71774c12c8aa",
"PX11477": "126.8696939282454",
"PX12109": "b908567e93d9ed24c036da7986349e97",
"PX12362": "b12f6f6ef824e6fa2e4e686a6b3919f1",
"PX12491": "be9996f96141c689cda7a1e4e1c28787",
"PX12130": ["$", "Sha256", "_init", "_open", "_close", "F9Storage", "F9Qubit", "F9Social", "html5", "$A", "_fbq", "_uxa", "_", "__f9publicCache", "_upliftFlag", "Native2JSBridge", "_jelly_sdks"],
"PX12351": ["jQuery351063056308674859191", "_html5shiv", "AccDC1692862342308"],
"PX11386": ["webdriver"],
"PX12525": "c18d06246c690fb8ad9b48da91f15244", // i.brwoser
"PX12526": "dce55f9ff67647ad6cebc7ee410e4b00", // i.device
"PX11948": 1,
"PX11685": 10,
"PX11986": true,
"PX12299": true,
"PX12331": true,
"PX11316": false,
"PX11448": true,
"PX12196": "missing",
"PX12427": ["$", "_init", "_open", "_close", "$A", "_fbq", "_uxa", "_pxAppId", "_Vb73hTEghandler", "__core-js_shared__", "_", "__f9publicCache", "_upliftFlag", "_jelly_sdks"],
"PX11842": ["_html5shiv"],
"PX12439": ["PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Chrome PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Chromium PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Microsoft Edge PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "WebKit built-in PDF::Portable Document Format::application/pdf~pdf::text/pdf~pdf"],
"PX11993": "1692862344762",
"PX12228": "TypeError: Cannot read properties of null (reading '0') at Re (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:22648) at func (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:145142) at Qe (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:23444) at https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:147972",
"PX12288": true,
"PX12446": 33,
"PX12236": "fd7149bbfb316699ef918fa7bb7510a8", // bC(v, "UIEvent")
"PX11309": "d41d8cd98f00b204e9800998ecf8427e", // bC(v, "WebKitCSSMatrix")
"PX11551": "fd7149bbfb316699ef918fa7bb7510a8", // bC(v, "WebGLContextEvent")
"PX12586": 1,
"PX11843": 1920,// screen["width"]
"PX11781": 1080,// screen["height"]
"PX12121": 1920,// screen["availWidth"
"PX12387": "1920X1080",// F + "X" + N
"PX11380": 24,// screen["colorDepth"]
"PX12003": 24,// screen["pixelDepth"]
"PX12128": 1055,// screen["availHeight"]
"PX11849": "10207b2f",// return Va(m["toString"]);
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11754": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX12037": true,
"PX11621": 8,
"PX11390": -480,
"PX11678": false,
"PX11840": "Thu Aug 24 2023 15:32:24 GMT+0800 (中国标准时间)",
"PX11540": true,
"PX11539": "3257c57a",// Me(console.log)
"PX11555": 4294705152,// jsHeapSizeLimit
"PX11452": "7c5f9724",
"PX12527": "3207084bd110f1ac964863e23aa78e04",// '1970/1/1'
"PX12501": "e5e8bc8df2602d2d3877dd2f83c1c044",// px_hvd localStorage
"PX11902": 2,
"PX11560": 14744,
"PX12280": 1692951656463,
"PX11496": "4a47ad90-4320-11ee-bda7-e188a22af0a3", // uuid
"PX12564": null,
"PX12565": -1
}
}]
```
\ No newline at end of file
r = '''[{
"t": "PX11590",
"d": {
"PX11431": 1692951652694,
"PX12069": ["PDF Viewer", "Chrome PDF Viewer", "Chromium PDF Viewer", "Microsoft Edge PDF Viewer", "WebKit built-in PDF"],
"PX12286": 5,
"PX11576": true,
"PX12318": true,
"PX11384": true,
"PX11886": true,
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX11754": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12037": true,
"PX11390": -480,
"PX11621": 8,
"PX11657": 4,
"PX12081": "Gecko",
"PX11908": "20030107",
"PX12314": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX11829": true,
"PX11464": true,
"PX12054": 2,
"PX11821": "Netscape",
"PX11479": "Mozilla",
"PX11674": true,
"PX12241": 650,
"PX11372": false,
"PX11683": 1.4,
"PX11561": "3g",
"PX11877": true,
"PX12100": true,
"PX12506": "arm",
"PX12507": "64",
"PX12508": [{
"brand": "Not/A)Brand",
"version": "99"
}, {
"brand": "Google Chrome",
"version": "115"
}, {
"brand": "Chromium",
"version": "115"
}],
"PX12509": false,
"PX12510": "",
"PX12511": "macOS",
"PX12512": "13.5.0",
"PX12513": "115.0.5790.170",
"PX12548": true,
"PX12549": true,
"PX12278": true,
"PX11694": false,
"PX12294": false,
"PX12514": true,
"PX12515": "TypeError: Cannot read properties of undefined (reading 'width')",
"PX12516": "webkit",
"PX12517": 33,
"PX12518": false,
"PX12545": false,
"PX12593": false,
"PX12595": "AudioData.SVGAnimatedAngle.SVGMetadataElement",
"PX11804": "71f526db5d6f3ab719473db7791e4821",
"PX12118": "cjk68p4ck8puaoo8tgc0",
"PX11746": "4cd10383c35e63adbb6c4982d8fc63ff",
"PX11371": "4fb78e5750f59dd35423b2da8ae2f77b",
"PX12501": "e5e8bc8df2602d2d3877dd2f83c1c044",
"PX11303": false,
"PX11515": false,
"PX12133": false,
"PX12340": false,
"PX11738": false,
"PX11723": false,
"PX11389": false,
"PX11839": false,
"PX11460": false,
"PX12102": false,
"PX11378": false,
"PX12317": false,
"PX12588": "webkit",
"PX12551": "https:",
"PX12553": "Asia/Shanghai",
"PX12567": "w3c",
"PX12576": "screen",
"PX12555": {
"plugext": {
"0": {
"f": "internal-pdf-viewer",
"n": "PDF Viewer"
},
"1": {
"f": "internal-pdf-viewer",
"n": "Chrome PDF Viewer"
},
"2": {
"f": "internal-pdf-viewer",
"n": "Chromium PDF Viewer"
},
"3": {
"f": "internal-pdf-viewer",
"n": "Microsoft Edge PDF Viewer"
},
"4": {
"f": "internal-pdf-viewer",
"n": "WebKit built-in PDF"
}
},
"plugins_len": 5
},
"PX12583": {
"smd": {
"ok": true,
"ex": false
}
},
"PX12578": {},
"PX12594": false,
"PX12566": false,
"PX12571": "46ef8eb2",
"PX12579": {
"support": true,
"status": {
"effectiveType": "3g",
"rtt": 650,
"downlink": 1.4,
"saveData": false
}
},
"PX12581": "default",
"PX12582": 3,
"PX12587": false,
"PX11843": 1920,
"PX11781": 1080,
"PX12121": 1920,
"PX12128": 1055,
"PX12387": "1920X1080",
"PX12003": 24,
"PX11380": 24,
"PX11494": 658,
"PX12411": 853,
"PX12443": 0,
"PX12447": 0,
"PX11533": true,
"PX12079": false,
"PX11701": "17530309285577018446",
"7135656?4>331167>220": "4206565<7=002254=113",
"PX12454": 2858,
"PX11508": "49e5084e",
"PX11452": "7c5f9724",
"PX12218": "65d826e0",
"PX12481": "a9269e00",
"PX11780": "50a5ec55",
"PX11539": "3257c57a",
"PX11528": "",
"PX12271": "10207b2f",
"PX11849": "10207b2f",
"PX12464": "90e65465",
"PX11356": true,
"PX12426": true,
"PX11791": true,
"PX11517": true,
"PX12520": true,
"PX12524": "4YC14YCd4YCd4YCV4YCe4YCX4YGS5J256aus7r266YaI5oCR7r27",
"PX12527": "3207084bd110f1ac964863e23aa78e04",
"PX12260": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12249": false,
"PX11897": "90e65465",
"PX12207": 0,
"PX11538": 2,
"PX11984": "TypeError: Cannot read properties of null (reading '0')\n at xe (https://client.px-cloud.net/PXVb73hTEg/main.min.js:909:13)\n at Ea (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2195:30)\n at Ba (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2174:23)\n at https://client.px-cloud.net/PXVb73hTEg/main.min.js:2398:9",
"PX11645": "https://www.flyfrontier.com/",
"PX11597": [],
"PX12023": "",
"PX11337": false,
"PX12330": "109|66|66|70|80",
"PX11705": 1128,
"PX11938": true,
"PX11602": true,
"PX12021": "false",
"PX12421": "false",
"PX12124": 1,
"PX11609": 1,
"PX12291": "",
"PX11881": ["loadTimes", "csi", "app"],
"PX11529": 70523678,
"PX11555": 4294705152,
"PX11833": 83141658,
"PX11840": "Fri Aug 25 2023 16:20:55 GMT+0800 (中国标准时间)",
"PX11526": false,
"PX11684": false,
"PX11812": false,
"PX12335": true,
"PX12080": 0,
"PX11678": false,
"PX11349": "visible",
"PX12397": false,
"PX11387": 0,
"PX12150": 1920,
"PX12304": true,
"PX11651": 970,
"PX11867": "missing",
"PX12254": true,
"PX11540": true,
"PX11548": false,
"PX11446": true,
"PX12550": 1,
"PX12431": 0,
"PX11991": 10,
"PX11837": 41,
"PX11632": 0,
"PX11409": 9,
"PX12573": "e2a83675",
"PX12597": 1,
"PX12544": true,
"PX12589": "succeeded",
"PX11524": true,
"PX12169": 2,
"PX11902": 1,
"PX11560": 14719,
"PX11332": 1692951655754,
"PX12248": 3600,
"PX11385": 1692951645931,
"PX12280": 1692951656463,
"PX11496": "4a47ad90-4320-11ee-bda7-e188a22af0a3",
"PX12564": null,
"PX12565": -1
}
}, {
"t": "PX11547",
"d": {
"PX12492": "c505c10e26a1b7a7741437db9f82916b",
"PX12570": "78f763eab3a2082c63c66cf47f9e05a0",
"PX11352": "e089aa3d700a35da7244dd4da7a68f9c",
"PX12292": "WebKit",
"PX11811": [],
"PX11567": "WebKit WebGL",
"PX12032": "WebGL 1.0 (OpenGL ES 2.0 Chromium)",
"PX11536": ["ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth", "EXT_shader_texture_lod", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "EXT_sRGB", "KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear", "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders", "WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBGL_multi_draw"],
"PX12149": ["[1, 1]", "[1, 64]", 8, "yes", 8, 24, 8, 16, 32, 16384, 1024, 16384, 16, 16384, 31, 16, 16, 1024, "[16384, 16384]", "no_fp", 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127, 23, 127, 127],
"PX12352": "Google Inc. (Apple)",
"PX11455": "ANGLE (Apple, Apple M1 Max, OpenGL 4.1)",
"PX11534": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
"PX12503": "d9153fa5509ac1e988e36776dd8d598a",
"PX12502": "32fe0262ba56767dfd83466855e47bec",
"PX11927": "a02e9e2368744e62770d4a78862f75fa",
"PX12572": "7ec700f02277463745cc71774c12c8aa",
"PX11477": "126.8696939282454",
"PX12109": "b908567e93d9ed24c036da7986349e97",
"PX12362": "b12f6f6ef824e6fa2e4e686a6b3919f1",
"PX12491": "be9996f96141c689cda7a1e4e1c28787",
"PX12130": ["$", "Sha256", "_init", "_open", "_close", "F9Storage", "F9Qubit", "F9Social", "html5", "$A", "_fbq", "_uxa", "_", "__f9publicCache", "_upliftFlag", "Native2JSBridge", "_jelly_sdks"],
"PX12351": ["jQuery351063056308674859191", "_html5shiv", "AccDC1692862342308"],
"PX11386": ["webdriver"],
"PX12525": "c18d06246c690fb8ad9b48da91f15244",
"PX12526": "dce55f9ff67647ad6cebc7ee410e4b00",
"PX11948": 1,
"PX11685": 10,
"PX11986": true,
"PX12299": true,
"PX12331": true,
"PX11316": false,
"PX11448": true,
"PX12196": "missing",
"PX12427": ["$", "_init", "_open", "_close", "$A", "_fbq", "_uxa", "_pxAppId", "_Vb73hTEghandler", "__core-js_shared__", "_", "__f9publicCache", "_upliftFlag", "_jelly_sdks"],
"PX11842": ["_html5shiv"],
"PX12439": ["PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Chrome PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Chromium PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "Microsoft Edge PDF Viewer::Portable Document Format::application/pdf~pdf::text/pdf~pdf", "WebKit built-in PDF::Portable Document Format::application/pdf~pdf::text/pdf~pdf"],
"PX11993": "1692862344762",
"PX12228": "TypeError: Cannot read properties of null (reading '0') at Re (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:22648) at func (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:145142) at Qe (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:23444) at https://client.px-cloud.net/PXVb73hTEg/main.min.js:2:147972",
"PX12288": true,
"PX12446": 33,
"PX12236": "fd7149bbfb316699ef918fa7bb7510a8",
"PX11309": "d41d8cd98f00b204e9800998ecf8427e",
"PX11551": "fd7149bbfb316699ef918fa7bb7510a8",
"PX12586": 1,
"PX11843": 1920,
"PX11781": 1080,
"PX12121": 1920,
"PX12387": "1920X1080",
"PX11380": 24,
"PX12003": 24,
"PX12128": 1055,
"PX11849": "10207b2f",
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11754": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX12037": true,
"PX11621": 8,
"PX11390": -480,
"PX11678": false,
"PX11840": "Thu Aug 24 2023 15:32:24 GMT+0800 (中国标准时间)",
"PX11540": true,
"PX11539": "3257c57a",
"PX11555": 4294705152,
"PX11452": "7c5f9724",
"PX12527": "3207084bd110f1ac964863e23aa78e04",
"PX12501": "e5e8bc8df2602d2d3877dd2f83c1c044",
"PX11902": 2,
"PX11560": 14744,
"PX12280": 1692951656463,
"PX11496": "4a47ad90-4320-11ee-bda7-e188a22af0a3",
"PX12564": null,
"PX12565": -1
}
}]'''
t = ''' "PX11431": 1692944411084,
"PX12330": "109|66|66|70|80", // ["webstore", 'runtime', 'app', "csi", "loadTimes"];构造函数 长度
"PX11705": 517, //fetch+''
"PX11938": true, //caches
"PX11602": true, //caches
"PX12021": "false", // webdriver
"PX12421": "false",//webdriver
"PX12124": 1,// 'webdriver' in navigator?1:0
"PX11609": 1, //'webdriver' in navigator?1:0
"PX12291": "",
"PX11881": ["loadTimes", "csi", "app"],// chrome 属性
"PX12207": 0, //v["self"] === v["top"] ? 0 : 1
"PX11538": 4,// history.length
# "PX11984": "TypeError: Cannot read properties of null (reading '0')\n at xe (https://client.px-cloud.net/PXVb73hTEg/main.min.js:910:13)\n at Ea (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2196:30)\n at Ba (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2175:22)\n at https://client.px-cloud.net/PXVb73hTEg/main.min.js:2399:9",
"PX11645": "https:/www.flyfrontier.com/", // href
"PX11597": [],// location.ancestorOrigins
"PX12023": "",// document.referrer
"PX11337": false,// window.hasOwnProperty('onorientationchange')
"PX12544": true, // !(!window["WebAssembly"] || !window["WebAssembly"]["instantiate"])
"PX12589": "succeeded", // 执行 wasm 结果?
"PX11524": true, // wasm 计算结果
"PX11843": 1920, //screen["width"]
"PX11781": 1080,// screen["height"]
"PX12121": 1920,// screen["availWidth"
"PX12128": 1055,// screen["availHeight"]
"PX12387": "1920X1080",// F + "X" + N
"PX12003": 24, // screen["pixelDepth"]
"PX11380": 24, // screen["colorDepth"]
"PX11494": 658, // v["innerWidth"]
"PX12411": 853, // v["innerHeight"]
"PX12443": 0, // v["scrollX"]
"PX12447": 0, // v["scrollY"]
"PX11533": true, // !(0 === v["outerWidth"] && 0 === v["outerHeight"])
"PX12079": false,// v["hasOwnProperty"]("_cordovaNative") || v["hasOwnProperty"]("Ti") || v["hasOwnProperty"]("webView") || v["hasOwnProperty"]("Android") || p["hasOwnProperty"]("ondeviceready") || m["hasOwnProperty"]("standalone") || v["external"] && "notify" in v["external"] || m["userAgent"]["indexOf"](" Mobile/") > 0 && -1 === m["userAgent"]["indexOf"](" Safari/");
"PX12278": true,
"PX11694": false,
"PX12294": false,
"PX12514": true,
"PX12515": "TypeError: Cannot read properties of undefined (reading 'width')",
"PX12516": "webkit",
"PX12517": 33,
"PX12518": false,
"PX12545": false,
"PX12593": false,
"PX12595": "AudioData.SVGAnimatedAngle.SVGMetadataElement",
"PX12069": ["PDF Viewer", "Chrome PDF Viewer", "Chromium PDF Viewer", "Microsoft Edge PDF Viewer", "WebKit built-in PDF"],
"PX12286": 5,
"PX11576": true,
"PX12318": true,
"PX11384": true,
"PX11886": true,
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX11754": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12037": true,
"PX11390": -480,
"PX11621": 8,
"PX11657": 4,
"PX12081": "Gecko",
"PX11908": "20030107",
"PX12314": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX11829": true,
"PX11464": true,
"PX12054": 2,
"PX11821": "Netscape",
"PX11479": "Mozilla",
"PX11674": true,
"PX12241": 500,
"PX11372": false,
"PX11683": 1.5,
"PX11561": "3g",
"PX11877": true,
"PX12100": true,
"PX12506": "arm",
"PX12507": "64",
"PX12509": false,
"PX12510": "",
"PX12511": "macOS",
"PX12512": "13.5.0",// platformVersion
"PX12513": "115.0.5790.170", //Mu["uaFullVersion"]
"PX12548": true,
"PX12549": true,
"PX11539": "64556c77", //Me(console.log)
"PX11528": "", // Object["getOwnPropertyDescriptor"](HTMLDocument["prototype"], "cookie")["get"]
"PX12271": "10207b2f",// Va(Object["prototype"]["toString"])
"PX11849": "10207b2f",// return Va(m["toString"]);
"PX12464": "90e65465",// Me("" + (e["get"] || "") + (e["value"] || ""))
"PX11356": true,
"PX12426": true,
"PX11791": true,
"PX11517": true,
"PX12520": true,
"PX12524": "4YC14YCd4YCd4YCV4YCe4YCX4YGS5J256aus7r266YaI5oCR7r27", // Pu = speechSynthesis.getVoices() is(Pu[161].voiceURI)
"PX12527": "3207084bd110f1ac964863e23aa78e04", // '1970/1/1'
"PX12260": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12249": false,
"PX11897": "90e65465", // 固定
"PX11701": "13064822615894407713",
"75602>44073>?2261175": "46531=77340=<1152246",
"PX12454": 4441,
"PX12597": 1,
"PX11529": 102721973,// usedJSHeapSize
"PX11555": 4294705152,// jsHeapSizeLimit
"PX11833": 122502277,// totalJSHeapSize
"PX11840": "Fri Aug 25 2023 14:20:11 GMT+0800 (中国标准时间)",
"PX11526": false,
"PX11684": false,
"PX11812": false,
"PX12335": true,
"PX12080": 0,
"PX11678": false,
"PX11349": "visible",
"PX12397": false,
"PX11387": 0,
"PX12150": 1920,
"PX12304": true,
"PX11651": 970,
"PX11867": "missing",
"PX12254": true,
"PX11540": true,
"PX11548": false,
"PX11446": true,
"PX12550": 1,
"PX12431": 0,
"PX11991": 10,
"PX11837": 32,
"PX11632": 0,
"PX11409": 9,
"PX12573": "e29b74b1",
"PX11508": "49e5084e",
"PX11452": "7c5f9724",
"PX12218": "65d826e0",
"PX12481": "a9269e00",
"PX11780": "50a5ec55",
"PX12588": "webkit",
"PX12551": "https:",
"PX12553": "Asia/Shanghai",
"PX12567": "w3c",
"PX12576": "screen",
"PX12594": false,
"PX12566": false,
"PX12571": "46ef8eb2", // allowedFeatures();
"PX12581": "default",
"PX12582": 3,
"PX12587": false,
"PX11303": false,
"PX11515": false,
"PX12133": false,
"PX12340": false,
"PX11738": false,
"PX11723": false,
"PX11389": false,
"PX11839": false,
"PX11460": false,
"PX12102": false,
"PX11378": false,
"PX12317": false,
"PX11804": "36f924a304c56d1ae9971c767ca7f510", //uuid 转换
"PX12118": "cjk4g6p0l92uaoruv300",// 第一步返回 0ll0ll
"PX11746": "4cd10383c35e63adbb6c4982d8fc63ff", //_pxvid
"PX11371": "dabf24bc8ba86bef39c3a20698ae7e02", // pxsid sessionStorage
"PX12501": "e5e8bc8df2602d2d3877dd2f83c1c044", // px_hvd localStorage
"PX12169": 2,
"PX11902": 1,
"PX11560": 19398,
"PX11332": 1692944411272,
"PX12248": 3600,
"PX11385": 1692944398418,
"PX12280": 1692944411981,
"PX11496": "6a6d1c10-430f-11ee-a838-3d4272821365",
"PX12564": null,
"PX12565": -1,
"PX11379": false'''.split('\n')
m = {}
for i in t:
i = i.lstrip()
a = i.split('//')
if len(a) == 2:
key = a[0].split('": ')[0]
# print(key, a[-1])
m[key] = a[-1]
print(m)
end = []
for i in r.split('\n'):
if '": ' in i:
a = i.split('": ')
key = a[0].lstrip()
if key in m:
# print(key)
end.append(i+'// ' + m[key])
else:
end.append(i)
pass
else:
end.append(i)
print('\n'.join(end))
const Ev = (t, e, n) => {
for (var r = ie(encode(n), 10), o = [], a = -1, i = 0; i < t.length; i++) {
var l = Math.floor(i / r.length + 1),
c = i >= r.length ? i % r.length : i,
u = r.charCodeAt(c) * r.charCodeAt(l)
u > a && (a = u)
}
for (var f = 0; t.length > f; f++) {
var s = Math.floor(f / r.length) + 1,
d = f % r.length,
p = r.charCodeAt(d) * r.charCodeAt(s)
for (p >= e && (p = wv(p, 0, a, 0, e - 1)); -1 !== o.indexOf(p); ) p += 1
o.push(p)
}
return o.sort(function (t, e) {
return t - e
})
}
const encode = (t) => {
return Buffer.from(t, 'binary').toString('base64');
}
const ie = (t, e) => {
for (var n = '', r = 0; r < t.length; r++)
n += String.fromCharCode(e ^ t.charCodeAt(r))
return n
}
const wv = (t, e, n, r, o) => {
return Math.floor(((t - e) / (n - e)) * (o - r) + r)
}
const Fa = (t, e, n) => {
for (var r = '', o = 0, a = t.split(''), i = 0; i < t.length; i++)
(r += e.substring(o, n[i] - i - 1) + a[i]), (o = n[i] - i - 1)
return (r += e.substring(o))
}
function encodePayload(payload, uuid, sts) {
var sts = sts.length === 0 ? '1604064986000' : sts
const BasePayload = encode(ie(payload, 50))
const fv = ie(encode(sts), 10)
return Fa(fv, BasePayload, Ev(fv, BasePayload.length, uuid))
}
/**
* first post request: var firstPayloadEncoded = obfuscatePayload(firstPayloadpayload, uuid, "")
* second post request : var secondPayloadEncoded = var payloadencoded = obfuscatePayload(secondPayload, uuid, sts)
*/
module.exports = {
encodePayload: encodePayload
}
\ No newline at end of file
function D(t, e) {
var n, r = H(t), a = [], o = [];
for (a[15] = o[15] = void 0,
r.length > 16 && (r = O(r, 8 * t.length)),
n = 0; n < 16; n += 1)
a[n] = 909522486 ^ r[n],
o[n] = 1549556828 ^ r[n];
var i = O(a.concat(H(e)), 512 + 8 * e.length);
return X(O(o.concat(i), 640))
}
function X(t) {
var e, n = "";
for (e = 0; e < 32 * t.length; e += 8)
n += String.fromCharCode(t[e >> 5] >>> e % 32 & 255);
return n
}
function H(t) {
var e, n = [];
for (n[(t.length >> 2) - 1] = void 0,
e = 0; e < n.length; e += 1)
n[e] = 0;
for (e = 0; e < 8 * t.length; e += 8)
n[e >> 5] |= (255 & t.charCodeAt(e / 8)) << e % 32;
return n
}
function R(t, e) {
var n = (65535 & t) + (65535 & e);
return (t >> 16) + (e >> 16) + (n >> 16) << 16 | 65535 & n
}
function x(t, e, n, r, a, o, i) {
return B(e & n | ~e & r, t, e, a, o, i)
}
function B(t, e, n, r, a, o) {
return R((i = R(R(e, t), R(r, o))) << (c = a) | i >>> 32 - c, n);
var i, c
}
function _(t, e, n, r, a, o, i) {
return B(e & r | n & ~r, t, e, a, o, i)
}
function k(t, e, n, r, a, o, i) {
return B(e ^ n ^ r, t, e, a, o, i)
}
function M(t, e, n, r, a, o, i) {
return B(n ^ (e | ~r), t, e, a, o, i)
}
function O(t, e) {
t[e >> 5] |= 128 << e % 32,
t[14 + (e + 64 >>> 9 << 4)] = e;
var n, r, a, o, i, c = 1732584193, u = -271733879, f = -1732584194, s = 271733878;
for (n = 0; n < t.length; n += 16)
r = c,
a = u,
o = f,
i = s,
c = x(c, u, f, s, t[n], 7, -680876936),
s = x(s, c, u, f, t[n + 1], 12, -389564586),
f = x(f, s, c, u, t[n + 2], 17, 606105819),
u = x(u, f, s, c, t[n + 3], 22, -1044525330),
c = x(c, u, f, s, t[n + 4], 7, -176418897),
s = x(s, c, u, f, t[n + 5], 12, 1200080426),
f = x(f, s, c, u, t[n + 6], 17, -1473231341),
u = x(u, f, s, c, t[n + 7], 22, -45705983),
c = x(c, u, f, s, t[n + 8], 7, 1770035416),
s = x(s, c, u, f, t[n + 9], 12, -1958414417),
f = x(f, s, c, u, t[n + 10], 17, -42063),
u = x(u, f, s, c, t[n + 11], 22, -1990404162),
c = x(c, u, f, s, t[n + 12], 7, 1804603682),
s = x(s, c, u, f, t[n + 13], 12, -40341101),
f = x(f, s, c, u, t[n + 14], 17, -1502002290),
c = _(c, u = x(u, f, s, c, t[n + 15], 22, 1236535329), f, s, t[n + 1], 5, -165796510),
s = _(s, c, u, f, t[n + 6], 9, -1069501632),
f = _(f, s, c, u, t[n + 11], 14, 643717713),
u = _(u, f, s, c, t[n], 20, -373897302),
c = _(c, u, f, s, t[n + 5], 5, -701558691),
s = _(s, c, u, f, t[n + 10], 9, 38016083),
f = _(f, s, c, u, t[n + 15], 14, -660478335),
u = _(u, f, s, c, t[n + 4], 20, -405537848),
c = _(c, u, f, s, t[n + 9], 5, 568446438),
s = _(s, c, u, f, t[n + 14], 9, -1019803690),
f = _(f, s, c, u, t[n + 3], 14, -187363961),
u = _(u, f, s, c, t[n + 8], 20, 1163531501),
c = _(c, u, f, s, t[n + 13], 5, -1444681467),
s = _(s, c, u, f, t[n + 2], 9, -51403784),
f = _(f, s, c, u, t[n + 7], 14, 1735328473),
c = k(c, u = _(u, f, s, c, t[n + 12], 20, -1926607734), f, s, t[n + 5], 4, -378558),
s = k(s, c, u, f, t[n + 8], 11, -2022574463),
f = k(f, s, c, u, t[n + 11], 16, 1839030562),
u = k(u, f, s, c, t[n + 14], 23, -35309556),
c = k(c, u, f, s, t[n + 1], 4, -1530992060),
s = k(s, c, u, f, t[n + 4], 11, 1272893353),
f = k(f, s, c, u, t[n + 7], 16, -155497632),
u = k(u, f, s, c, t[n + 10], 23, -1094730640),
c = k(c, u, f, s, t[n + 13], 4, 681279174),
s = k(s, c, u, f, t[n], 11, -358537222),
f = k(f, s, c, u, t[n + 3], 16, -722521979),
u = k(u, f, s, c, t[n + 6], 23, 76029189),
c = k(c, u, f, s, t[n + 9], 4, -640364487),
s = k(s, c, u, f, t[n + 12], 11, -421815835),
f = k(f, s, c, u, t[n + 15], 16, 530742520),
c = M(c, u = k(u, f, s, c, t[n + 2], 23, -995338651), f, s, t[n], 6, -198630844),
s = M(s, c, u, f, t[n + 7], 10, 1126891415),
f = M(f, s, c, u, t[n + 14], 15, -1416354905),
u = M(u, f, s, c, t[n + 5], 21, -57434055),
c = M(c, u, f, s, t[n + 12], 6, 1700485571),
s = M(s, c, u, f, t[n + 3], 10, -1894986606),
f = M(f, s, c, u, t[n + 10], 15, -1051523),
u = M(u, f, s, c, t[n + 1], 21, -2054922799),
c = M(c, u, f, s, t[n + 8], 6, 1873313359),
s = M(s, c, u, f, t[n + 15], 10, -30611744),
f = M(f, s, c, u, t[n + 6], 15, -1560198380),
u = M(u, f, s, c, t[n + 13], 21, 1309151649),
c = M(c, u, f, s, t[n + 4], 6, -145523070),
s = M(s, c, u, f, t[n + 11], 10, -1120210379),
f = M(f, s, c, u, t[n + 2], 15, 718787259),
u = M(u, f, s, c, t[n + 9], 21, -343485551),
c = R(c, r),
u = R(u, a),
f = R(f, o),
s = R(s, i);
return [c, u, f, s]
}
function N(t){
var e, n, r = "0123456789abcdef", a = "";
for (n = 0; n < t.length; n += 1)
e = t.charCodeAt(n),
a += r.charAt(e >>> 4 & 15) + r.charAt(15 & e);
return a
}
function genPC1(t){
for (var e = "", n = "", r = 0; r < t.length; r++) {
var a = t.charCodeAt(r);
a >= 48 && a <= 57 ? e += t[r] : n += a % 10;
}
return e + n
}
function genPC2(r) {
var a = "";
var o = 0;
for(o = 0; o < r.length; o += 2)
a += r[o];
return a
}
/**
* tempuuid = uuid+":v{VERSIONNUMBER}-HF:{SITEID}"
* payload = normal payload, not encoded
* you can use pccreator like this: var pc = genPC2(genPC1(N(D(tempuuid, payload))))
*/
module.exports = {
genPC1: genPC1,
genPC2: genPC2,
N: N,
D: D
}
const {N} = require("./pcCreator.js");
const {D} = require("./pcCreator.js");
const md5 = require('md5');
function Me(t, e) {
for (var n = "", r = 0; r < t.length; r++)
n += String.fromCharCode(e ^ t.charCodeAt(r));
return n
}
/**
*
*
* @returns returns value looking like this as array ["15265:25;046306632:1","04374;34:157217723;0"]
*/
function createNonPXValue(cls, sts) {
var firstTimeStamp = sts % 10 + 2
var secondTimeStamp = sts % 10 + 1
return [""+Me(cls, firstTimeStamp), ""+Me(cls, secondTimeStamp)]
}
/**
*
*
* @returns returns timestamp
*/
function createPX12280() {
return Date.now()
}
/**
*
*
* @returns returns Date
*/
function createPX11840() {
return new Date();
}
function createPX11804(useragent, uuid) {
return N(D(useragent,uuid))
}
function createPX11746(useragent, vid) {
return N(D(useragent,vid))
}
function createPX11371(useragent, sid) {
return N(D(useragent,sid))
}
function createPX12501(vid) {
const hash = md5(vid);
return hash
}
function b(t, e) {
var n = t.length
, r = e ? Number(e) : 0;
if (r != r && (r = 0),
!(r < 0 || r >= n)) {
var a, o = t.charCodeAt(r);
return o >= 55296 && o <= 56319 && n > r + 1 && (a = t.charCodeAt(r + 1)) >= 56320 && a <= 57343 ? 1024 * (o - 55296) + a - 56320 + 65536 : o
}
};
/**
*
*
* @returns returns invisible string
*/
var Ef, Tf = "%uDB40%uDD";
function invisiblesid(t) {
return (t || "").split("").reduce((function(t, e) {
var n, r, a, o = "" + b(e, 0).toString(16), i = (n = o,
r = 2,
a = "0",
r >>= 0,
a = String(String(a) !== "undefined" ? a : " "),
n.length > r ? String(n) : ((r -= n.length) > a.length && (a += a.repeat(r / a.length)),
a.slice(0, r) + String(n)));
return t + unescape(Tf + i)
}
), "")
}
module.exports = {
createNonPXValue: createNonPXValue,
createPX11371: createPX11371,
invisiblesid: invisiblesid,
createPX12501: createPX12501,
createPX11746: createPX11746,
createPX11804:createPX11804,
createPX12280: createPX12280,
createPX11840: createPX11840,
}
\ No newline at end of file
......@@ -127,10 +127,10 @@ class PxBypass():
t2 = t1 + random.randint(3, 12)
_uuid = self.__uuid()
data = [{"t": "PX12095",
"d": {"PX11645": "https://www.flyfrontier.com/", "PX12207": 0, "PX12458": "Win32", "PX11902": 0,
"d": {"PX11645": "https://www.flyfrontier.com/", "PX12207": 0, "PX12458": "MacIntel", "PX11902": 0,
"PX11560": random.randint(8549, 8549 * 3), "PX12248": 3600, "PX11385": t1, "PX12280": t2,
"PX11496": _uuid, "PX12564": None, "PX12565": -1,
"PX11379": True}}]
"PX11379": False}}]
data_str = json.dumps(data, separators=(',', ':'))
self.log.info(f'data_str {data_str}')
......
......@@ -9,7 +9,8 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@babel/core": "^7.22.10"
"@babel/core": "^7.19.0",
"md5": "^2.3.0"
}
},
"node_modules/@ampproject/remapping": {
......@@ -45,28 +46,32 @@
}
},
"node_modules/@babel/core": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.22.10.tgz",
"integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==",
"version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz",
"integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10",
"@babel/helper-compilation-targets": "^7.22.10",
"@babel/helper-module-transforms": "^7.22.9",
"@babel/helpers": "^7.22.10",
"@babel/parser": "^7.22.10",
"@babel/helpers": "^7.22.11",
"@babel/parser": "^7.22.11",
"@babel/template": "^7.22.5",
"@babel/traverse": "^7.22.10",
"@babel/types": "^7.22.10",
"@babel/traverse": "^7.22.11",
"@babel/types": "^7.22.11",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.2.2",
"json5": "^2.2.3",
"semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/babel"
}
},
"node_modules/@babel/generator": {
......@@ -205,13 +210,13 @@
}
},
"node_modules/@babel/helpers": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.22.10.tgz",
"integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==",
"version": "7.22.11",
"resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.22.11.tgz",
"integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==",
"dependencies": {
"@babel/template": "^7.22.5",
"@babel/traverse": "^7.22.10",
"@babel/types": "^7.22.10"
"@babel/traverse": "^7.22.11",
"@babel/types": "^7.22.11"
},
"engines": {
"node": ">=6.9.0"
......@@ -231,9 +236,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.10.tgz",
"integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==",
"version": "7.22.11",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.11.tgz",
"integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==",
"bin": {
"parser": "bin/babel-parser.js"
},
......@@ -255,9 +260,9 @@
}
},
"node_modules/@babel/traverse": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.22.10.tgz",
"integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==",
"version": "7.22.11",
"resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.22.11.tgz",
"integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==",
"dependencies": {
"@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10",
......@@ -265,8 +270,8 @@
"@babel/helper-function-name": "^7.22.5",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
"@babel/parser": "^7.22.10",
"@babel/types": "^7.22.10",
"@babel/parser": "^7.22.11",
"@babel/types": "^7.22.11",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
......@@ -275,9 +280,9 @@
}
},
"node_modules/@babel/types": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.22.10.tgz",
"integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==",
"version": "7.22.11",
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.22.11.tgz",
"integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==",
"dependencies": {
"@babel/helper-string-parser": "^7.22.5",
"@babel/helper-validator-identifier": "^7.22.5",
......@@ -376,6 +381,14 @@
"node": ">=4"
}
},
"node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
"engines": {
"node": "*"
}
},
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
......@@ -394,6 +407,14 @@
"resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz",
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
},
"node_modules/crypt": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
"engines": {
"node": "*"
}
},
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
......@@ -455,6 +476,11 @@
"node": ">=4"
}
},
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
......@@ -490,6 +516,16 @@
"yallist": "^3.0.2"
}
},
"node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"dependencies": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
......
......@@ -9,6 +9,7 @@
"author": "",
"license": "ISC",
"dependencies": {
"@babel/core": "^7.22.10"
"@babel/core": "^7.19.0",
"md5": "^2.3.0"
}
}
var data = [{
"t": "PX11590",
"d": {
"PX11431": 1692944411084,
"PX12330": "109|66|66|70|80", // ["webstore", 'runtime', 'app', "csi", "loadTimes"];构造函数 长度
"PX11705": 517, //fetch+''
"PX11938": true, //caches
"PX11602": true, //caches
"PX12021": "false", // webdriver
"PX12421": "false",//webdriver
"PX12124": 1,// 'webdriver' in navigator?1:0
"PX11609": 1, //'webdriver' in navigator?1:0
"PX12291": "",
"PX11881": ["loadTimes", "csi", "app"],// chrome 属性
"PX12207": 0, //v["self"] === v["top"] ? 0 : 1
"PX11538": 4, // history.length
"PX11984": "TypeError: Cannot read properties of null (reading '0')\n at xe (https://client.px-cloud.net/PXVb73hTEg/main.min.js:910:13)\n at Ea (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2196:30)\n at Ba (https://client.px-cloud.net/PXVb73hTEg/main.min.js:2175:22)\n at https://client.px-cloud.net/PXVb73hTEg/main.min.js:2399:9",
"PX11645": "https:/www.flyfrontier.com/", // href
"PX11597": [],// location.ancestorOrigins
"PX12023": "",// document.referrer
"PX11337": false,// window.hasOwnProperty('onorientationchange')
"PX12544": true, // !(!window["WebAssembly"] || !window["WebAssembly"]["instantiate"])
"PX12589": "succeeded", // 执行 wasm 结果?
"PX11524": true, // wasm 计算结果
"PX11843": 1920, //screen["width"]
"PX11781": 1080,// screen["height"]
"PX12121": 1920,// screen["availWidth"
"PX12128": 1055,// screen["availHeight"]
"PX12387": "1920X1080",// F + "X" + N
"PX12003": 24, // screen["pixelDepth"]
"PX11380": 24, // screen["colorDepth"]
"PX11494": 658, // v["innerWidth"]
"PX12411": 853, // v["innerHeight"]
"PX12443": 0, // v["scrollX"]
"PX12447": 0, // v["scrollY"]
"PX11533": true, // !(0 === v["outerWidth"] && 0 === v["outerHeight"])
"PX12079": false,// v["hasOwnProperty"]("_cordovaNative") || v["hasOwnProperty"]("Ti") || v["hasOwnProperty"]("webView") || v["hasOwnProperty"]("Android") || p["hasOwnProperty"]("ondeviceready") || m["hasOwnProperty"]("standalone") || v["external"] && "notify" in v["external"] || m["userAgent"]["indexOf"](" Mobile/") > 0 && -1 === m["userAgent"]["indexOf"](" Safari/");
"PX12278": true,
"PX11694": false,
"PX12294": false,
"PX12514": true,
"PX12515": "TypeError: Cannot read properties of undefined (reading 'width')",
"PX12516": "webkit",
"PX12517": 33,
"PX12518": false,
"PX12545": false,
"PX12593": false,
"PX12595": "AudioData.SVGAnimatedAngle.SVGMetadataElement",
"PX12069": ["PDF Viewer", "Chrome PDF Viewer", "Chromium PDF Viewer", "Microsoft Edge PDF Viewer", "WebKit built-in PDF"],
"PX12286": 5,
"PX11576": true,
"PX12318": true,
"PX11384": true,
"PX11886": true,
"PX11583": "en-US",
"PX12458": "MacIntel",
"PX11681": ["en-US", "en", "zh-CN", "ru"],
"PX11754": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12037": true,
"PX11390": -480,
"PX11621": 8,
"PX11657": 4,
"PX12081": "Gecko",
"PX11908": "20030107",
"PX12314": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX11829": true,
"PX11464": true,
"PX12054": 2,
"PX11821": "Netscape",
"PX11479": "Mozilla",
"PX11674": true,
"PX12241": 500,
"PX11372": false,
"PX11683": 1.5,
"PX11561": "3g",
"PX11877": true,
"PX12100": true,
"PX12506": "arm",
"PX12507": "64",
"PX12509": false,
"PX12510": "",
"PX12511": "macOS",
"PX12512": "13.5.0",// platformVersion
"PX12513": "115.0.5790.170", //Mu["uaFullVersion"]
"PX12548": true,
"PX12549": true,
"PX11539": "64556c77", //Me(console.log)
"PX11528": "", // Object["getOwnPropertyDescriptor"](HTMLDocument["prototype"], "cookie")["get"]
"PX12271": "10207b2f",// Va(Object["prototype"]["toString"])
"PX11849": "10207b2f",// return Va(m["toString"]);
"PX12464": "90e65465",// Me("" + (e["get"] || "") + (e["value"] || ""))
"PX11356": true,
"PX12426": true,
"PX11791": true,
"PX11517": true,
"PX12520": true,
"PX12524": "4YC14YCd4YCd4YCV4YCe4YCX4YGS5J256aus7r266YaI5oCR7r27", // Pu = speechSynthesis.getVoices() is(Pu[161].voiceURI)
"PX12527": "3207084bd110f1ac964863e23aa78e04", // '1970/1/1'
"PX12260": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
"PX12249": false,
"PX11897": "90e65465", // 固定
"PX11701": "13064822615894407713",
"75602>44073>?2261175": "46531=77340=<1152246",
"PX12454": 4441,
"PX12597": 1,
"PX11529": 102721973,// usedJSHeapSize
"PX11555": 4294705152,// jsHeapSizeLimit
"PX11833": 122502277,// totalJSHeapSize
"PX11840": "Fri Aug 25 2023 14:20:11 GMT+0800 (中国标准时间)",
"PX11526": false,
"PX11684": false,
"PX11812": false,
"PX12335": true,
"PX12080": 0,
"PX11678": false,
"PX11349": "visible",
"PX12397": false,
"PX11387": 0,
"PX12150": 1920,
"PX12304": true,
"PX11651": 970,
"PX11867": "missing",
"PX12254": true,
"PX11540": true,
"PX11548": false,
"PX11446": true,
"PX12550": 1,
"PX12431": 0,
"PX11991": 10,
"PX11837": 32,
"PX11632": 0,
"PX11409": 9,
"PX12573": "e29b74b1",
"PX11508": "49e5084e",
"PX11452": "7c5f9724",
"PX12218": "65d826e0",
"PX12481": "a9269e00",
"PX11780": "50a5ec55",
"PX12588": "webkit",
"PX12551": "https:",
"PX12553": "Asia/Shanghai",
"PX12567": "w3c",
"PX12576": "screen",
"PX12594": false,
"PX12566": false,
"PX12571": "46ef8eb2", // allowedFeatures();
"PX12581": "default",
"PX12582": 3,
"PX12587": false,
"PX11303": false,
"PX11515": false,
"PX12133": false,
"PX12340": false,
"PX11738": false,
"PX11723": false,
"PX11389": false,
"PX11839": false,
"PX11460": false,
"PX12102": false,
"PX11378": false,
"PX12317": false,
"PX11804": "36f924a304c56d1ae9971c767ca7f510", //uuid 转换
"PX12118": "cjk4g6p0l92uaoruv300",// 第一步返回 0ll0ll
"PX11746": "4cd10383c35e63adbb6c4982d8fc63ff", //_pxvid
"PX11371": "dabf24bc8ba86bef39c3a20698ae7e02", // pxsid sessionStorage
"PX12501": "e5e8bc8df2602d2d3877dd2f83c1c044", // px_hvd localStorage
"PX12169": 2,
"PX11902": 1,
"PX11560": 19398,
"PX11332": 1692944411272,
"PX12248": 3600,
"PX11385": 1692944398418,
"PX12280": 1692944411981,
"PX11496": "6a6d1c10-430f-11ee-a838-3d4272821365",
"PX12564": null,
"PX12565": -1,
"PX11379": false
}
}]
\ No newline at end of file
......@@ -376,3 +376,84 @@ console.log(333,enc(aa, "e956bcd0-2d0b-11ee-a21c-431215775a7a"))
// module.exports = {
// getWords: getWords
// }
t = {}
eval(`t.Ir = function(t,e){
function _r() {
var t = ["fetch", "250459zlMVoB", "toJSON", "314797wPgMbX", "csi", "dispatchToListener", "length", "install", "webdriver", "19310mguXvS", "indexOf", "runtime", "createElement", "protocol", "2696FDQYwO", "324HGENDQ", "loadTimes", "onInstallStageChanged", "http", "6Lrhxfe", "webstore", "cnVudGltZQ==", "timing", "Y2hyb21l", "4290zNWVho", "3771JHWUIa", "sendMessage", "YXBw", "795028sWWHtb", "153NYCMXB", "1082590zkQNux", "constructor", "6BnRIvI", "290192onzBLk", "performance"];
return (_r = function () {
return t;
})();
};!function (t, e) {
for (var v = Ir, p = t();;) try {
if (447112 === -parseInt(v(137)) / 1 * (-parseInt(v(168)) / 2) + -parseInt(v(161)) / 3 * (parseInt(v(150)) / 4) + parseInt(v(166)) / 5 * (parseInt(v(155)) / 6) + parseInt(v(139)) / 7 + -parseInt(v(134)) / 8 * (parseInt(v(165)) / 9) + -parseInt(v(145)) / 10 * (parseInt(v(160)) / 11) + parseInt(v(151)) / 12 * (parseInt(v(164)) / 13)) break;
p.push(p.shift());
} catch (t) {
p.push(p.shift());
}
}(_r);function Ir(t, e) {
var n = _r();
return (Ir = function (t, e) {
return n[t -= 134];
})(t, e);
}
return Ir(t,e)
}`)
console.log(t.Ir(135))
function Me(t) {
t = "" + t;
for (var e, n = 0, r = 0; r < t.length; r++) {
n = (n << 5) - n + t.charCodeAt(r), n |= 0;
}
return e = n, (e |= 0) < 0 && (e += 4294967296), e.toString(16);
}
console.log(Me(console.log))
var i = function () {
try {
if (atob && "test" === atob("dGVzdA==")) return atob;
} catch (t) {
}
function t(t) {
this.message = t;
}
t.prototype = new Error(), t.prototype.name = "InvalidCharacterError";
return function (e) {
var n = String(e).replace(/[=]+$/, "");
if (n.length % 4 == 1) throw new t("'atob' failed: The string to be decoded is not correctly encoded.");
for (var r, i, a = 0, o = 0, c = ""; i = n.charAt(o++); ~i && (r = a % 4 ? 64 * r + i : i, a++ % 4) ? c += String.fromCharCode(255 & r >> (-2 * a & 6)) : 0) i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);
return c;
};
}();
function oaa(n) {
for (var c = atob(n), u = "", l = 0; l < c.length; ++l) {
var s = "XsS5yUA".charCodeAt(l % 7);
console.log(l, s, c.charCodeAt(l), s ^ c.charCodeAt(l))
u += String.fromCharCode(s ^ c.charCodeAt(l));
}
console.log(u)
// console.log(atob(u))
return u
}
console.log('oaa',oaa("CCtiBE1idQ"))
function oaa2(n) {
for (var c = n, u = "", l = 0; l < c.length; ++l) {
var s = "XsS5yUA".charCodeAt(l % 7);
console.log(l, s ^ c.charCodeAt(l))
u += String.fromCharCode(s ^ c.charCodeAt(l));
}
console.log(u)
// console.log(atob(u))
console.log(btoa(u))
return u
}
console.log('oaa2',oaa2("PX12572"))
\ No newline at end of file
......@@ -51,7 +51,8 @@ a = 'aUkQRhAIEGJqAwMHBgUQHhBWEAhJEGJqAwAGCwAQCBBRBwIHUQMCVwAEUwNQBVMFBQYDBgEFVlA
# print(e)
a2 = "UAxQUAwMHD8QGFIcU1NQHAUZKlEpCg8JOTQHVC0KIg0tNCEULiQpUi4zUBgtNzYMLDQLGS0KKRQvJylSLiQICjk0C1AtNAwJKQkXCQQJKVYpDTUXLzQDGi40NgwsNDEZLgo1FC00Jgw6M1EILQoxUyw3Lg0uCggJLRopGi83KVAtGSkTKQ4xCS8KJVIvNClULhopGS0aNVUuCiETKQ0HCS8JKVIvJCYKOjc1Fy4aCA06CiYNLSQhUi4KIVEuNAQLLQ0lGi8nKVUvJDlRLQ0lUy03Mgs5NzlQOg01GS4kLgouDToJOiQqCi40AxgtGjVQOQ0tVC83JRgpDlBdHBQSFQUcU1BQHh4eHlBQUFBQUBwDFQ=="
a2 = "UAxQUFBQHFJXUlQEWFNXUVlSUVVUUVgFAgYCVwMEVlFUWFcFUgFXWVRSU1dVBlIFBgZXAwEEA1YGUgZQBFhRUlECAwRVAlgeHh4eUAxQDAwMHAMDHFZQHDVSJhQ6Ni4QBCc1WTQnJlQvF11dHh4eHlAMDFAMDBwDCgoJDlcHWBEIEA4MEBUCDwkJBx4eHh5QUFBQUFAcAxUeHh4eUFBQDAxQHAVQWVdUVgFWTVRSVlVNUVEFBU0BUlRXTVdQV1BWV1ZSVFJXVh4eHh5QDAwMDFBQUBxVVVZXHh4eHgxQUFAMUBwFUFlXU1VVBU1UUlZVTVFRBQVNAVJUV00DBlZYAlNSU1kCVFMcU1FVU1ZQUFAcFBIVBR4eHh5QDAwMDFBQDBxRVllSWFdRVVhSUlVTHh4eHlAMDAxQDFBQHAVQWVdUBFkGTVRSVlVNUVEFBU0BUlRXTVdQV1BWV1ZSVFJXVhwUEhUFHh4eHgwMUAwMUBxWWFdWWFZRVVhYUlRSUFdVWVlSVg=="
a2 = 'DAxQDAxQHFlXU1JYWFNSVVFWVFRVVVZZUFhZHh4eHlAMDFAMDBwDCgtWUhEJDhFSDBUBDxIDAwZSBx4eHh5QDAwMDFBQUBxTUFFUHh4eHlAMUFBQUBwEBFRWV1lUBFIBUVBUAlRSBFUGVlJSVFIGUVJQVwVTVVECVgVSUwYDAVAGWVAEVFgGVFhSUAMBVVVXBFVXV1YBHh4eHlAMUAwMDBwDAxxWUBw1UiYUOjYuEAQnNVk0JyZULxddXR4eHh5QUFBQUFAcAxUeHh4eUAwMDAxQUAwcUVZZUllVUFhZUFNTVA=='
b2 = base64.b64decode(a2.encode())
for i in bytes(encrypt(b2, 96)).decode().split('~~~~'):
print(i)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment