求助js解密(js混淆加密在线解密)

2023-03-04 23:51:08 密语知识 思思

你好,这个不用解密的,你已经解密过来了。

这是别人通过js混淆器加密后,你解密后的结果。

就是混淆器就是把一些变量替换了,可读性差,不直观。

\x69\x74\x65\x6D 这些字符都是变量的,不是真正的字符。他的这些变量就像 a b c一样,只是长度字符大。比如我们定义 a=5;以后调用a就可以,同样道理,我定义\x69\x74\x65\x6D=5,以后调用\x69\x74\x65\x6D就可以了。

要想直观的,你可以逐一替换这些变量,那要一个一个找,或者批量替换掉。

js混淆后的代码如何解密?

混淆的作用就是用无意义的关键字符替代原来有意义的关键字符,让浏览者“看不懂”代码,不了解代码的运行逻辑,也就无法复用。

混淆不同于加密解密,因为原来有意义的字符已经被替换了,不存在算法上的反推,任何的技术不可能再得出原来的那些有意义的字符。

所以理论上,混淆后的代码无法解密。但因为它的整个运算逻辑关系链是完整的,与混淆前的代码关系链是完全一致的,所以非要“破解”,只能说摸清它的逻辑关系链,人为去做的话,烧脑又复杂。技术上需要一定的运算能力来做这个工作,比如云计算甚至超级计算机,但即便“破解”,它也是只能分析出一个函数大致是干什么用的,原来的关键字符名称还是不可能得出。

请问这个js是由什么方式加密混淆的如何解密??

前面的\x只是16进制编解码就好

function decode(str){

return str.replace(/\\x(\w{2})/g,function(_,$1){ return String.fromCharCode(parseInt($1,16)) });

}

后面的使用压缩混淆工具,压缩了空格,简化了变量名.是可以格式化回去的,但是变量你想还原到原来的有含义的命名,是不可能的了