我们在爬内容,抓取页面的时候,总会遇到sojson v5,jsjiami.com的v6加密。

jsjiami v6 : JS加密,JS不可逆加密,JS混淆,JS混淆加密,JS压缩加密 - [JavaScript加密]

我看了下这个js完全有效。废话不多说。直接上代码。

(function (js_body) {// 脱壳 && 解密let js_arr = js_body.split("\n").pop().split(';'),fun_name = /var\s+(_0x[a-z0-9]+)=/.exec(js_arr[6])[1],reg_str = fun_name + '\\(' + "'([^']+)',\s*'([^']+)'" + '\\)',js_str = js_arr.slice(54, js_arr.length - 4).join(';'),code_shell = js_arr.slice(0, 34).join(';'),shell_obj = eval("(function(){" + code_shell + ";return " + fun_name + "})()");js_str = js_str.replace(new RegExp(reg_str, 'g'), function (str, id, key) {return '"' + shell_obj(id, key) + '"';}).replace(/([a-z0-9 \-_A-Z)\]]+)\s?\[["']([^"']+)[" ']\]/g, '$1.$2').replace(/(?<!_)(0x[0-9 a-f]+)/g, function (hex) {return parseInt(hex).toString();});// 完全还原混淆let obj = null, name = '';js_str = js_str.replace(/{(var\s+(_0x[0-9a-z]+)=(\{(.*)\}));/g, function (str, code_str, _name, obj_str) {obj = eval("(function () {return " + obj_str + "})()");name = _name;return '{';});if (obj) {let i = 5;while (js_str.indexOf(name) && --i > 0) {for (const key in obj) {if (!obj.hasOwnProperty(key)) continue;if (typeof obj[key] == 'function') {let fun_info = /function\s*_0x[0-9a-z]+\(([^)]*)\){return\s*([^;]+);}/.exec(obj[key].toString());js_str = js_str.replace(new RegExp(name + '\\.' + key + '\\(([^())]*)\\)', 'g'), function (string, args_str) {let args = args_str.split(','),fun_args = fun_info[1].split(','),fun_body = fun_info[2];fun_args.forEach(function (item, index) {fun_body = fun_body.replace(item, args[index]);});return fun_body;});} else if (typeof obj[key] == 'string') {js_str = js_str.replace(name + '.' + key, '"' + obj[key] + '"');} else {js_str = js_str.replace(name + '.' + key, obj[key].toString());}}}}//直接解密了return js_str;
})($('#resultSource').val() || $('#jsdata').val());

解密之前的代码:

var a=['jsjiami.com.v6','ZjsgjilBUDamOPlriw.EVcomBp.lv6==','5p+76Zev6aOL6K2W6ICh57Czw59KXsO7woIUw6fCgMKLw5TCqg==','KFXCvcKCJFM=','IWQXKgw=','Gks8Kg==','w4h1w7oOag=='];(function(c,d,e){var f=function(g,h,i,j){h=h>>0x8;if(h<g){while(--g){j=c['shift']();if(h===g){h=j;i=c['shift']();}else if(i['replace'](/[ZglBUDOPlrwEVBpl=]/g,'')===h){c['push'](j);}}c['push'](c['shift']());}return 0x242ed;};return f(++d,e)>>d^e;}(a,0x1eb,0x1eb00));var b=function(c,d){c=~~'0x'['concat'](c);var e=a[c];if(b['gPvZlv']===undefined){(function(){var f=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';f['atob']||(f['atob']=function(h){var i=String(h)['replace'](/=+$/,'');for(var j=0x0,k,l,m=0x0,n='';l=i['charAt'](m++);~l&&(k=j%0x4?k*0x40+l:l,j++%0x4)?n+=String['fromCharCode'](0xff&k>>(-0x2*j&0x6)):0x0){l=g['indexOf'](l);}return n;});}());var o=function(p,d){var r=[],s=0x0,t,u='',v='';p=atob(p);for(var w=0x0,x=p['length'];w<x;w++){v+='%'+('00'+p['charCodeAt'](w)['toString'](0x10))['slice'](-0x2);}p=decodeURIComponent(v);for(var y=0x0;y<0x100;y++){r[y]=y;}for(y=0x0;y<0x100;y++){s=(s+r[y]+d['charCodeAt'](y%d['length']))%0x100;t=r[y];r[y]=r[s];r[s]=t;}y=0x0;s=0x0;for(var z=0x0;z<p['length'];z++){y=(y+0x1)%0x100;s=(s+r[y])%0x100;t=r[y];r[y]=r[s];r[s]=t;u+=String['fromCharCode'](p['charCodeAt'](z)^r[(r[y]+r[s])%0x100]);}return u;};b['fuFDUP']=o;b['uzmgkx']={};b['gPvZlv']=!![];}var A=b['uzmgkx'][c];if(A===undefined){if(b['GkZZBA']===undefined){b['GkZZBA']=!![];}e=b['fuFDUP'](e,d);b['uzmgkx'][c]=e;}else{e=A;}return e;};(function(c,d){var e={'RAMoq':'\x32\x30\x31\x39\u5e74\x30\x39\u6708\x31\x32\u65e5\x31\x35\x3a\x32\x34\x3a\x32\x39\u66f4\u65b0','EaZaN':'\u8fd9\u4e2a\u662f\u4e00\u4e2a\u672c\u7ad9\u5bf9\x4a\x61\x76\x61\x53\x63\x72\x69\x70\x74 \u811a\u672c\u7684\u4e00\u4e2a\u6700\u725b\u52a0\u5bc6\uff0c\u517c\u5bb9\u6027\u9002\u4e2d\uff0c\u89e3\u5bc6\u96be\u5ea6\u6781\u5927'};c[b('0','ZdTU')]=e[b('1','FnxY')];d[b('2','FnxY')]=e[b('3','jPNw')];d['feedback']=b('4','fS%!');}(window,document));

解密之后:

var g_gotowxtime = 0;
var g_gotowxaction = 0;
var g_status = 0;

window.vis_st = 0;
window.vis_time = 0;

window.onload = function(){
    showHiddenListen();
}
function showHiddenListen(){
    document.addEventListener("visibilitychange",function(e){
        if(document.hidden) {

if(Date.now()-g_gotowxtime<=4500&&g_gotowxaction!=0){
                
                window.vis_st = 1;
                window.vis_time = Date.now();
                
            }
        }
        if (document.visibilityState === 'visible') {
            if(window.vis_st==1)
                {
                    var t_time = Date.now()-window.vis_time;
                    console.log(Date.now()-window.vis_time);
                    console.log(window.vis_st);

if(t_time>3000)
                    {
                        gdt('track', 'RESERVATION', {'key1': 'value1', 'key2': 'value2'});      
                    }
                    window.vis_st==0;
                    window.vis_time = 0;

}

}
        g_gotowxaction= 0;
        g_gotowxtime= 0;
    });
}

$(".wxcode").on('longTap',function(){
    g_gotowxtime = Date.now();
    g_gotowxaction = 1;

});

是不是干干净净,直接还原原来的代码

也可以用这个工具解密:JS解密-JS在线解密-JS脚本解密-JS格式化去注释-JS美化 - [JavaScript加密]

jsjiami.com V6版本,js解密的方法。相关推荐

  1. sojson jsjiami.com.v6 爬虫js逆向

    sojson jsjiami.com.v6 爬虫js逆向 地址:aHR0cDovL3d3dy5wYmMuZ292LmNuL3JteWgvMTA1MjA4Lzg1MzIvaW5kZXg1Lmh0bWw= ...

  2. 易语言POST里常见的JS加密方式,JS解密教程

    首先录制了套易语言POST从入门到JS解密的精通教程.估计近100集,正在更新中,目前暂时可以在网站上看前几集 在线看地址 https://www.bilibili.com/video/av39727 ...

  3. 分享一种最简单的JS解密技巧(sojson.v6解密)

    先贴代码 今天来教大家怎么解密别人加密的js,为了方便调试,我们加密的例子很简单 console.log('magua'); var _0xodQ='jsjiami.com.v6',_0xodQ_=[ ...

  4. 常见的js加密/js解密方法

    常见的js加密/js解密方法 当今互联网世界中,数据安全是至关重要的.为了保护用户的隐私和保密信息,开发人员必须采取适当的安全措施.在前端开发中,加密和解密技术是一种常见的数据安全措施,其中 Java ...

  5. 分享一种超简单的js解密方法

    加密代码如下 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a ...

  6. php加密js函数输出,PHP加密函数 Javascript/Js 解密函数的实现方法

    这篇文章主要为大家详细介绍了PHP加密函数 Javascript/Js 解密函数的实现方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 以下函数代码 ...

  7. python图片压缩pako_vue中使用 pako.js 解密 gzip加密字符串的方法

    前言 今天跟后台对接一个接口,接受到一个加密的值,说是通过gzip加密过的,然后就蒙蔽了, 赶紧上百度找了一下资料,通过一篇文章(原文在底部)发现有个js库可以解密,就下载轻松解密了 实现代码 pok ...

  8. 超超详细ReactRouter v6版本的基本使用

    先附上官网的地址:react-router-v6 · GitHub Topics · GitHub 一.概述 React Router 以三个不同的包发布到 npm 上,它们分别为: react-ro ...

  9. 用JS解密工具轻松解密JS代码

    当今的网络世界,JavaScript(JS)被广泛应用于网页开发和应用程序设计.然而,由于JavaScript代码的易读性,许多人担心这种脚本语言的安全性,它容易受到黑客攻击和信息窃取.因此,JS加密 ...

最新文章

  1. gin将请求体绑定到不同的结构体中
  2. 127. Leetcode 242. 有效的字母异位词 (哈希表)
  3. HTML基础_Day01
  4. C++ Primer 5th笔记(1)chapter 1
  5. 组图:1904年圣路易斯奥运会
  6. 玩! 框架+ Google Guice
  7. Android入门第七篇之ListView (二)
  8. 前端学习(2878):原生js模块化+发送弹幕和重置弹幕
  9. ShadeGraph教程之节点详解7:Utility Nodes
  10. 文科本二计算机类大学排名,全国二本大学排名文科分数线
  11. 【Thinkphp5+Ueditor】Thinkphp5中用Ueditor无法获取内容的问题
  12. 利用C++的stringstream对各种数据类型转换
  13. Winform中使用signalr
  14. C++ primer 练习题
  15. java通讯录 批量生成 .vcf文件, .csv文件批量生成 .vcf,手机自动导入
  16. 网页加载CAD图纸的两个方案对比说明
  17. 戴尔t30服务器装系统6,手把手为你演示win7系统戴尔t30装win7的具体办法
  18. mysql创建数据库_MySQL创建数据库的两种方法
  19. 第一次登陆阿里云ECS云服务器及其配置
  20. 高德地图刷新当前位置_高德地图怎样实现实时定位,得到当前地点的坐标,位置...

热门文章

  1. parquet--golang使用
  2. python计算十进制和十六进制之和_计算十进制整数 678 和十六进制整数 0x12fd 之和是...
  3. 痔疮后水肿该怎么办?
  4. 陈柏龄知乎健身回答总结
  5. 国产手机品牌冲击电商平台
  6. OOP Principles
  7. vue+element 创建Cron表达式生成器组件 [带最近五次执行时间]
  8. 收集优质的中文前端博客(不定期更新中)
  9. 水利水电安全员考试单选练习题库(2)
  10. 5、Docker 的四种网络模式