gpt4 book ai didi

javascript - 你如何在 python 中使用 jsbeautifier 解压 javascript?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:34:41 24 4
gpt4 key购买 nike

我有这段 javascript 代码,我想对其进行解压和美化,它看起来类似于:

eval(function(p,a,c,k,e,r){e=String;if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'^$'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('document.body.innerHTML="<iframe width=\'100%\' scrolling=\'no\' height=\'2500\' frameborder=\'0\' src=\'http://www.exmaple.com\'>";',[],1,''.split('|'),0,{}))

当我将其放入 jsbeautifier.org 时,我得到:

document.body.innerHTML = "<iframe width='100%' scrolling='no' height='2500' frameborder='0' src='http://www.example.com'>";

但是当我尝试使用 python 库(使用 jsbeautifier.beautify)时,它似乎无法正确解压:

print al(function (p, a, c, k, e, r) {
e = String;
if ('0'.replace(0, e) == 0) {
while (c--) r[e(c)] = k[c];
k = [
function (e) {
return r[e] || e
}
];
e = function () {
return '^$'
};
c = 1
};
while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
return p
}('document.body.innerHTML="<iframe width=\'100%\' scrolling=\'no\' height=\'2500\' frameborder=\'0\' src=\'http://www.example.com\'>";', [], 1, ''.split('|'), 0, {}));

我做错了什么?

编辑:Python 代码是:

import jsbeautifier
#script needs to have '\n' at the beginning otherwise jsbeautifier throws an error
script = """\neval(function(p,a,c,k,e,r){e=String;if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'^$'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('document.body.innerHTML="<iframe width=\'100%\' scrolling=\'no\' height=\'2500\' frameborder=\'0\' src=\'http://www.example.com\'>";',[],1,''.split('|'),0,{}))"""
jsbeautifier.beautify(script)

最佳答案

你应该导入这个模块:

import jsbeautifier.unpackers.packer as packer
unpack = packer.unpack(some_packed_code)

我已经在 Windows 32 位 jsbeautifier 1.54 上测试过了。

关于javascript - 你如何在 python 中使用 jsbeautifier 解压 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16613352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com