• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

jsjiami.com V6版本,js解密的方法。

武飞扬头像
湖南唯凡网络科技有限公司
帮助3

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

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

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

  1.  
    (function (js_body) {
  2.  
    // 脱壳 && 解密
  3.  
    let js_arr = js_body.split("\n").pop().split(';'),
  4.  
    fun_name = /var\s (_0x[a-z0-9] )=/.exec(js_arr[6])[1],
  5.  
    reg_str = fun_name '\\(' "'([^'] )',\s*'([^'] )'" '\\)',
  6.  
    js_str = js_arr.slice(54, js_arr.length - 4).join(';'),
  7.  
    code_shell = js_arr.slice(0, 34).join(';'),
  8.  
    shell_obj = eval("(function(){" code_shell ";return " fun_name "})()");
  9.  
    js_str = js_str.replace(new RegExp(reg_str, 'g'), function (str, id, key) {
  10.  
    return '"' shell_obj(id, key) '"';
  11.  
    }).replace(/([a-z0-9 \-_A-Z)\]] )\s?\[["']([^"'] )[" ']\]/g, '$1.$2').replace(/(?<!_)(0x[0-9 a-f] )/g, function (hex) {
  12.  
    return parseInt(hex).toString();
  13.  
    });
  14.  
    // 完全还原混淆
  15.  
    let obj = null, name = '';
  16.  
    js_str = js_str.replace(/{(var\s (_0x[0-9a-z] )=(\{(.*)\}));/g, function (str, code_str, _name, obj_str) {
  17.  
    obj = eval("(function () {return " obj_str "})()");
  18.  
    name = _name;
  19.  
    return '{';
  20.  
    });
  21.  
    if (obj) {
  22.  
    let i = 5;
  23.  
    while (js_str.indexOf(name) && --i > 0) {
  24.  
    for (const key in obj) {
  25.  
    if (!obj.hasOwnProperty(key)) continue;
  26.  
    if (typeof obj[key] == 'function') {
  27.  
    let fun_info = /function\s*_0x[0-9a-z] \(([^)]*)\){return\s*([^;] );}/.exec(obj[key].toString());
  28.  
    js_str = js_str.replace(new RegExp(name '\\.' key '\\(([^())]*)\\)', 'g'), function (string, args_str) {
  29.  
    let args = args_str.split(','),
  30.  
    fun_args = fun_info[1].split(','),
  31.  
    fun_body = fun_info[2];
  32.  
    fun_args.forEach(function (item, index) {
  33.  
    fun_body = fun_body.replace(item, args[index]);
  34.  
    });
  35.  
    return fun_body;
  36.  
    });
  37.  
    } else if (typeof obj[key] == 'string') {
  38.  
    js_str = js_str.replace(name '.' key, '"' obj[key] '"');
  39.  
    } else {
  40.  
    js_str = js_str.replace(name '.' key, obj[key].toString());
  41.  
    }
  42.  
    }
  43.  
    }
  44.  
    }
  45.  
    //直接解密了
  46.  
    return js_str;
  47.  
    })($('#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加密]

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfiacch
系列文章
更多 icon
同类精品
更多 icon
继续加载