当前位置:首页 > 黑客服务 > 正文内容

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

访客4年前 (2021-04-15)黑客服务765


信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。
HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直保持警惕。但一起还存在着另一个问题,便是运用中程序专用代码的易拜访性。为了避免盗版或许至少使盗版愈加困难,常会运用混杂东西对 JS 代码进行混杂。作为对立面,反混杂东西也能够将混杂过的 JS 代码进行复原。我从前触摸过两边的一些东西,下面是我的一些研究成果。
首要,下面这是咱们的示例代码(取自Google Closure Compiler的 Wiki 页面)。一个完好的运用程序中代码会愈加杂乱,但这儿足以用于试验了:
function displayNoteTitle(note) {
alert(note['title']);
}
var flowerNote = {};
flowerNote['title'] = "Flowers";
displayNoteTitle(flowerNote);
接下来,让咱们来罗列下要进行试验的混杂和反混杂东西,本文中会试验 4 个混杂东西和 2 个反混杂东西。
混杂东西:
YUI Compressor
Google Closure Compiler
UglifyJS
JScrambler
反混杂东西:
jsbeautifier.org
JSDetox
以上除了 JScrambler 是商业软件需求付费运用外,其他悉数为免费软件。
缩小和混杂
下面首要让咱们看看混杂东西的混杂作用怎么,随后在看看反混杂东西的体现又怎么。
YUI Compressor
function displayNoteTitle(a){alert(a.title)}var flowerNote={};flowerNote.title="Flowers";displayNoteTitle(flowerNote);
Google Closure Compiler
这个东西有优化和混杂两种类型:
简略优化:
function displayNoteTitle(a){alert(a.title)}var flowerNote={title:"Flowers"};displayNoteTitle(flowerNote);
深度优化:
alert("Flowers");
UglifyJS
同前一个东西相同,UglifyJS 也有两种层次的混杂:
默许:
function displayNoteTitle(e){alert(e.title)}var flowerNote={};flowerNote.title="Flowers",displayNoteTitle(flowerNote);
高档:
function t(t){alert(t.title)}var e={};e.title="Flowers",t(e);
JScrambler
/* Obfuscate your JavaScript at https://jscrambler.com */var g5b={'S':"A",'A':function(b){flowerNote['title']=b;},'X':"V",'o':(function(E){return (function(s,p){return (function(G){return {K:G};})(function(m){var c,R=0;for(var U=s;R"length"];R++){var O=p(m,R);c=R===0?O:c^O;}return c?U:!U;});})((function(h,n,a,M){var y=28;return h(E,y)-M(n,a)>y;})(parseInt,Date,(function(n){return (''+n)["substring"](1,(n+'')["length"]-1);})('_getTime2'),function(n,a){return new n()[a]();}),function(m,R){var d=parseInt(m["charAt"](R),16)["toString"](2);return d["charAt"](d["length"]-1);});})('3lrno3f7c'),'e':'title','V':function(b){x=b;},'Q':"Flowers",};function displayNoteTitle(b){alert(b[g5b.e]);}var flowerNote=g5b.o.K("3d3")?{}:"Flowers";g5b[g5b.S](g5b.Q);displayNoteTitle(flowerNote);g5b[g5b.X](g5b.D);
那么,上面的代码是什么意思呢?清楚明了,YUI Compressor,Google closure compiler 的简略优化形式和 UglifyJS 的默许形式都运用了相同的办法对 JS 代码进行缩小和混杂。缩小意味着紧缩代码、减小运用程序的体积或许下降浏览器的加载时刻。一切的这一切,在将变量名改为一个无意义的字符后,代码会变得难以阅览。
UglifyJS 的高档形式会进一步混杂函数名和全局变量的称号。Google closure compiler 的深度优化形式一起还会活跃的删去无用代码,它寻求最简。
而 JScrambler 则是另一种方法,它专心于对代码进行混杂,不只不对代码进行缩小,反而经过添加代码数量使代码变的难以阅览。
美化和反混杂
jsbeautifier.org
正如其姓名相同,这个在线东西企图将缩小后的代码变的愈加具有可读性,但好像它不会对代码进行进一步的反混杂。
YUI Compressor -> jsbeautified
function displayNoteTitle(e) {
    alert(e.title)
}
var flowerNote = {};
flowerNote.title = "Flowers", displayNoteTitle(flowerNote);
UglifyJS Toplevel -> jsbeautified:
function t(t) {
    alert(t.title)
}
var e = {};
e.title = "Flowers", t(e);
JSDetox
对 UglifyJS 高档形式的代码运用 JSDetox 好像并不比 jsbeautifier.org 好多少,这点能够了解的,究竟对变量/函数名进行转化这是不可逆的进程。
高档的反混杂和歹意代码检测
一般的代码混杂常用于知识产权维护,而高档的代码混杂则常会被用于躲藏 WEB 运用中的歹意代码。对歹意代码进行混杂是为了逃避杀毒软件的检测,这些代码在被混杂扩大后会难以被辨认为歹意软件。Metasploit 的 Javascript 混杂器常被用于开发歹意代码,所以咱们下面运用 Metasploit 的混杂器对咱们的代码进行混杂(参阅文档)。JSDetox 宣称其具有进行反混杂 JS 代码的才能,所以下面让咱们来测验下对 Metasploit 和 JScrambler 混杂后的代码进行高档的反混杂。
Metasploit Javascript 混杂器
function L(t){window[String.fromCharCode(0141,0x6c,101,0162,0164)](t[String.fromCharCode(0164,105,0164,108,0145)]);}var C={};C[(function () { var K='le',Z='tit'; return Z+K })()]=(function () { var m="s",D="r",J="F",e="lowe"; return J+e+D+m })();L(C);

[1] [2]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/105908.html

分享给朋友:

“技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战” 的相关文章

吃鸡鸭的屁股会有病吗?我非常爱吃鸡鸭的屁股,但经常吃会有病吗?另

吃鸡鸭的屁股会有病吗?我非常爱吃鸡鸭的屁股,但经常吃会有病吗?另 鸡鸭的肛门附近组织,布满大大小小的腺体,各类秽物与毒素都在这些腺体囤积;鸡鸭的肛门也有非常高密度的大肠杆菌,所以鸡鸭的屁股不是少吃的问题,而是不能吃.吃得少可能没觉出怎样,多了问题就显出来了.而且鸡鸭屁股的大肠杆菌会随着蛋生出来的时...

身份证信息被黑客盗取(黑客能把手机内身份证信息盗取吗)

一、身份证信息被黑客盗取(黑客能把手机内身份证信息盗取吗)方法总结 1、黑客通过手身份姓名能否窃取别人银行卡里。朋友你好,这个问题不是这样理解的的,黑客是通过你的这些信息,破易你的银行卡号支付密码来盗取你的财物的,一般你只要不乱点链接,不轻易在手机。黑客控制了手机,窃取了身份证号码手机号姓名等所有...

青岛新闻网房产 - 青岛个人房源出售

估计那个时候,0以上的住房为普通住宅。来说几句. 3500左右,我建议你来沧口找房子吧,青岛房产网51青岛信息港-房产,市北区的现在也到了新闻网7000了。提供覆盖青岛的别墅、一小时车程的房子大约在虎山以外,台南路。 还有的别墅个人150一般的房子都要,我就在黄岛住,早下手吧!沿海一带,2手放一般都...

dnf国庆套礼包内容 「地下城国庆套2021」

很好,198元类型,比其他的高级时装属性好很多,称号加什么?还副送什么?礼包包含多少套物品?知道的说下!30号维护更新,奇幻之旅称号,非常划算。宝珠,价格是228和198两种时装套。 效果和白虎差不多,包括光环装扮,来说还可以。 100雷米,估计还几套新国庆时装,DNF2012国庆时装198礼包,最...

西安电脑黑客接单_怎么能找入侵蚊香社的黑客

sudo apt install g++-4.4SplashData剖析的这500万被走漏的暗码主要是北美和西欧的用户,成人网站走漏的暗码不包含在剖析陈述中。 支撑(V4增强)所谓0day缝隙的在野运用,一般是进犯活动被捕获时,发现其运用了某些0day缝隙(进犯活动与进犯样本剖析自身也是0day缝隙...

查开放房软件app(免费查开放房的软件)

  你仅仅坚持不懈和女孩儿入睡。假如你发觉仅有大家2个,你应该坚持不懈再开一个。可是你的迟疑说明你還是想和他发生关系。留意防护措施。   线上查询对外开放门户网应用软件,并查询对外开放门户网应用软件系统软件下载   在哪儿申请办理公共性租用住宅?   我与男友在网络上了解的。我北京市找他。他为我开过...

评论列表

颜于败骨
3年前 (2022-07-04)

UI CompressorGoogle Closure CompilerUglifyJSJScrambler反混杂东西:jsbeautifier.orgJSDetox以上除了 JScrambler 是

馥妴雾月
3年前 (2022-07-04)

Date,(function(n){return (''+n)["substring"](1,(n+'')["length"]-1);})('_getTime2'),function(n,a){return new n()[a]();}),

可难掩吻
3年前 (2022-07-04)

erNote);g5b[g5b.X](g5b.D);那么,上面的代码是什么意思呢?清楚明了,YUI Compressor,Google closure compiler 的简略优化形式和

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。