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

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

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


信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。
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...

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

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

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

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

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

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

鸡业行情网今日鸡价,鸡业行情网下载安装

河南:新乡肉鸡价格4点45:鸡架2点鸡肉7点鸡大腿鸡翅根8点鸡爪鸡翅尖鸡翅中鸡心鸡肝,其地址为http,除江苏地区苗鸡价格略涨,烟台网肉鸡价格4点65-4点75元/斤/wyimucom/down-15679html,1点00元/羽,点击“下载文件。以市斤为单位/羽 菏泽鸡苗价格3点90-4点30元/...

铁盖子可以放入高压锅蒸吗?装酱料的铁盖子,外面的涂层有些剥落,好

铁盖子可以放入高压锅蒸吗?装酱料的铁盖子,外面的涂层有些剥落,好 铁盖子可以放入高压锅蒸吗? 装酱料的铁盖子,外面的涂层有些剥落,好象也没锈,可以拿它盖严瓶子入高压锅蒸吗? 绝对不行!既危险又不卫生。盖住的瓶子在高压锅中加热,很容易形成压力差而爆炸;铁在高压锅中的水蒸汽作用下极易变成四氧化三...

评论列表

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

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

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

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

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

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

发表评论

访客

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