李恒道 发表于 2021-10-27 15:44:42

国家电网0 发表于 2021-10-27 11:08
晚上看美女了,新增每日一美女

好!很有精神!

王一之 发表于 2021-10-27 18:31:27

脚本体验师001 发表于 2021-10-27 14:42
请教大佬道,怎么才能把 console.log("Hello, World!") 这一句弄成别人看不懂的样子
webpack打包还是怎么的 ...

https://www.jsjiami.com/

var _0xodK='jsjiami.com.v6',_0x1be9=;(function(_0x158dd4,_0xfb5da6,_0x1d1064){var _0x24e6c3=function(_0x5ede90,_0x398eb4,_0xb07bce,_0x1eddb5,_0x43482c){_0x398eb4=_0x398eb4>>0x8,_0x43482c='po';var _0x37e2e8='shift',_0x5ec58c='push';if(_0x398eb4<_0x5ede90){while(--_0x5ede90){_0x1eddb5=_0x158dd4();if(_0x398eb4===_0x5ede90){_0x398eb4=_0x1eddb5;_0xb07bce=_0x158dd4();}else if(_0x398eb4&&_0xb07bce['replace'](//g,'')===_0x398eb4){_0x158dd4(_0x1eddb5);}}_0x158dd4(_0x158dd4());}return 0xb1d99;};return _0x24e6c3(++_0xfb5da6,_0x1d1064)>>_0xfb5da6^_0x1d1064;}(_0x1be9,0x83,0x8300));var _0xe768=function(_0x22a09e,_0x479384){_0x22a09e=~~'0x'['concat'](_0x22a09e);var _0x1380f6=_0x1be9;if(_0xe768['KuuemX']===undefined){(function(){var _0x3b72d7=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x5d254e='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x3b72d7['atob']||(_0x3b72d7['atob']=function(_0x3eb8ee){var _0x2fa1bd=String(_0x3eb8ee)['replace'](/=+$/,'');for(var _0x4a608c=0x0,_0x25a882,_0x439733,_0x518703=0x0,_0x38d885='';_0x439733=_0x2fa1bd['charAt'](_0x518703++);~_0x439733&&(_0x25a882=_0x4a608c%0x4?_0x25a882*0x40+_0x439733:_0x439733,_0x4a608c++%0x4)?_0x38d885+=String['fromCharCode'](0xff&_0x25a882>>(-0x2*_0x4a608c&0x6)):0x0){_0x439733=_0x5d254e['indexOf'](_0x439733);}return _0x38d885;});}());var _0x4b9498=function(_0x5295a4,_0x479384){var _0x143d90=[],_0x193ec0=0x0,_0x4b8f22,_0x3a729c='',_0x402852='';_0x5295a4=atob(_0x5295a4);for(var _0x91908d=0x0,_0x2e81f3=_0x5295a4['length'];_0x91908d<_0x2e81f3;_0x91908d++){_0x402852+='%'+('00'+_0x5295a4['charCodeAt'](_0x91908d)['toString'](0x10))['slice'](-0x2);}_0x5295a4=decodeURIComponent(_0x402852);for(var _0x51a8fb=0x0;_0x51a8fb<0x100;_0x51a8fb++){_0x143d90=_0x51a8fb;}for(_0x51a8fb=0x0;_0x51a8fb<0x100;_0x51a8fb++){_0x193ec0=(_0x193ec0+_0x143d90+_0x479384['charCodeAt'](_0x51a8fb%_0x479384['length']))%0x100;_0x4b8f22=_0x143d90;_0x143d90=_0x143d90;_0x143d90=_0x4b8f22;}_0x51a8fb=0x0;_0x193ec0=0x0;for(var _0x3f02b0=0x0;_0x3f02b0<_0x5295a4['length'];_0x3f02b0++){_0x51a8fb=(_0x51a8fb+0x1)%0x100;_0x193ec0=(_0x193ec0+_0x143d90)%0x100;_0x4b8f22=_0x143d90;_0x143d90=_0x143d90;_0x143d90=_0x4b8f22;_0x3a729c+=String['fromCharCode'](_0x5295a4['charCodeAt'](_0x3f02b0)^_0x143d90[(_0x143d90+_0x143d90)%0x100]);}return _0x3a729c;};_0xe768['XjZpDz']=_0x4b9498;_0xe768['yohRbv']={};_0xe768['KuuemX']=!![];}var _0x19591a=_0xe768['yohRbv'];if(_0x19591a===undefined){if(_0xe768['yNepnA']===undefined){_0xe768['yNepnA']=!![];}_0x1380f6=_0xe768['XjZpDz'](_0x1380f6,_0x479384);_0xe768['yohRbv']=_0x1380f6;}else{_0x1380f6=_0x19591a;}return _0x1380f6;};console(_0xe768('1','uA&y'));;_0xodK='jsjiami.com.v6';

脚本体验师001 发表于 2021-10-27 19:50:34

王一之 发表于 2021-10-27 18:31
https://www.jsjiami.com/

var _0xodK='jsjiami.com.v6',_0x1be9=

Hello, World!
'jsjiami.com.v6'

好奇怪,这种比鬼画符还难认的叼毛代码,浏览器还能运行
那么问题来了,怎么解密呢

王一之 发表于 2021-10-27 21:46:03

脚本体验师001 发表于 2021-10-27 19:50
Hello, World!
'jsjiami.com.v6'



哈哈哈 好像不能解密

陈公子的话 发表于 2021-10-27 23:01:35

脚本体验师001 发表于 2021-10-27 14:42
请教大佬道,怎么才能把 console.log("Hello, World!") 这一句弄成别人看不懂的样子
webpack打包还是怎么的 ...

sojson            

陈公子的话 发表于 2021-10-27 23:04:44

脚本体验师001 发表于 2021-10-27 19:50
Hello, World!
'jsjiami.com.v6'



最简单jsfuck , sojson解密用ast或者直接分析 sojson还是比较简单的 大概流程:乱序数组+数组排序函数 +解密函数 +真实函数其他的就是过debug 死循环 格式化检测什么的

lty123 发表于 2021-10-27 23:47:15

已经躺平了,上午看剧下午打游戏

脚本体验师001 发表于 2021-10-28 13:16:07

陈公子的话 发表于 2021-10-27 23:04
最简单jsfuck , sojson解密用ast或者直接分析 sojson还是比较简单的 大概流程:乱序数组+数组排序函数 + ...

难了不会,会了不难。
能不能把解密过程记录下来,供我等观摩,研习
用上面的素材,或者您自定

水凛子 发表于 2021-10-28 14:11:16

脚本体验师001 发表于 2021-10-28 13:16
难了不会,会了不难。
能不能把解密过程记录下来,供我等观摩,研习
用上面的素材,或者您自定 ...

{:4_89:}js逆向的视频,他已经发了好几个帖子了

cxxjackie 发表于 2021-10-28 14:46:28

脚本体验师001 发表于 2021-10-28 13:16
难了不会,会了不难。
能不能把解密过程记录下来,供我等观摩,研习
用上面的素材,或者您自定 ...

重点在最后这句:
console(_0xe768('1', 'uA&y'));
前面一大串都是在构造一个取值函数_0xe768,这个函数传入不同参数会返回特定的字符串,sojson的加密原理就是用键值访问属性,而键值是字符串,通过构造取值函数来让键值变得不可读,当然理解原理以后就变简单了,你可以把前面那一段运行一下,然后输出_0xe768('0', 'wdMN')看看,可以发现_0xe768('0', 'wdMN') = 'log', _0xe768('1', 'uA&y') = 'Hello, World!', 这样就很容易读懂了。原函数比较复杂的最后加密出来的结果也会有一堆_0xe768,自己写一段代码把他替换成原本的字符串就行了(不需要理解前面那串代码的含义,照抄就行),当然实际加密过的代码可能还包含了一些jsfuck的操作,比如把false替换成![],true替换成!![]之类的,这个也可以自己做替换。
页: 1 [2] 3
查看完整版本: 油猴中文网今日没有新闻