过去3年我一直在开发数据抓取脚本,但从来没有像这样的艰难时期。
我正在抓取site,为了防止抓取,它会显示消息Please enable JS in your browser
然后有JS代码创建某种cookie或令牌,并重定向到实际页面。
我只想知道代码编码的形式是什么?我怎么解码呢?
答案 0 :(得分:1)
使用某种JavaScript Obfuscator对代码进行了混淆。
以下是该代码的去混淆/
解码版本... pastebin.com/RjcgeTfs
答案 1 :(得分:1)
如此。到目前为止我做了什么?
我拿了你的代码,把它扔进了jsnice.org和jsbeautifier.org
我发现两个代码块包含在eval函数中。我只是将它们从evals中取出并将代码块再次复制到jsnice中。
从那里我做到了:
code.replace(/\/\*.+\*\//g, '')
.replace(/(?:\$|to8bitStream)\(([\d, ]+)\)/g, (a,b) => JSON.stringify(b.split(', ').map(x=>String.fromCharCode(x-63)).join``))
.replace(/(?:key|get)\((\d+)\)/g, (a,b) => JSON.stringify(parseInt(b,10).toString(36)))
.replace(/get\(0x([\da-f]+)\)/gi, (a,b) => JSON.stringify(parseInt(b,16).toString(36)))
.replace(/(?:forEach|createDom)\((\d+)\)/g, (a,b)=>746>parseInt(b))
.replace(/(?!=\s*)\["([a-z\d_]+)"\]/gi, (a,b)=>'.'+b);
获取该代码的修改版本,然后我将其重新投入jsnice以获得以下输出:
https://gist.github.com/GottZ/ce2f7dea949b2b7af64606426e56adde
我现在要约会几分钟,并继续对securemsg
内容进行反混淆。
PS:请记住我是免费的。