配合chrome浏览器console解密一段JSFuck代码["\x66\x69\x6c\x74\x65\x72"] 技术文章

在测试某个项目的时候,发现一段JavaScript代码,省略不重要的部分如下:

// 原内容如下,只知道有个正则

['mmh']["\x66\x69\x6c\x74\x65\x72"]["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"](((['mmh'] + [])[

    "\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"]['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'][

    '\x61\x70\x70\x6c\x79'](null,

    "33s102Y117y110O99L116H105n111u110Z40g41U123u102m117c110M99m116T105y111d110"

        '\x73\x70\x6c\x69\x74'
)))('mmh');

// 在JavaScript中对于\x66这种开头的,\x代表这是一个16进制,直接在console里面打印出来就ok

// console.log('\x66\x69\x6c\x74\x65\x72') => filter

// 然后依次打印所有的类似字节即可得到如下转码后的JavaScript代码

// 如果你到这里不知道如何下手的话,怎么办?搜索啊!Google搜索以下 XXXX是什么 就有结果了

// 或者把全部\x66这种解密后得到的相关字符串去搜索就有结果了

jsfuck对照表.png

// 下面看一下jsfuck对照表,然后解密

// false       =>  ![]

// true        =>  !![]

// undefined   =>  [][[]]

// NaN         =>  +[![]]

// 0           =>  +[]

// 1           =>  +!+[]

// 2           =>  !+[]+!+[]

// 10          =>  [+!+[]]+[+[]]

// Array       =>  []

// Number      =>  +[]

// String      =>  []+[]

// Boolean     =>  ![]

// Function    =>  []["filter"]

// eval        =>  []["filter"]"constructor"()

// window      =>  []["filter"]["constructor"]("return this")()

// 解码后的代码如下,为了节省字符,使用mrxn123代替代码中的超长字符串

['mmh']["filter"]["constructor"](((['mmh'] + [])["constructor"]['fromCharCode']'apply'))('mmh');

// 根据jsfuck对照表,我们去掉mmh,这样就是熟悉的原滋原味的jsfuck格式的代码了

[]["filter"]["constructor"]((([] + [])["constructor"]['fromCharCode']'apply'))();

// 根据eval对照[]["filter"]"constructor"(),我们只需要把code部分代码直接console.log()出来就好

console.log(((([] + [])["constructor"]['fromCharCode']'apply')));

// 输出:{

console.log测试.png

// 同样的姿势将开始用mrxn123替换掉的字符串替换回去,回车,OK!JavaScript源码就出现在控制台了

jsfuck解密后源码.png 
注意:上面的步骤中,替换需要去掉原内容中的空格,不然会报错。

Mrxn 发布于 2019-11-16 11:05

「更新」油猴脚本---freebuf文章图片去除!small并自动缩放图片大小到100% 技术文章

我之前写过一篇文章是关于freebuf文章图片去除!small得,地址在这里:https://mrxn.net/jswz/modify_freebuf_pic.html,但是后来我发现有一个BUG,很严重得那种:因为我当时在写插件的时候是在文章全部浏览完后直接写得,这也就导致了我当时忽略了 freebuf 的图片是懒加载的,这样的话如果还是像我之前那样直接去除图片 src 末尾的 !small ,会导致没有在第一屏内的图片不会被渲染出来!so ,趁着这次五一国际劳动节放假当天,我就来更新来了!本次更新重新设计了一下,就是取消掉了那个小标签添加,在文章页面禁用了lazyload加载,当你读文章慢慢往下滚动的时候就可以自动去除图片末尾的 !small 了,而且回自动修改图片的宽度属性到 100% (受父节点限制,不会撑爆的),尽可能的显示图片大小从而方便阅读。脚本演示

Greasy Fork 在线下载安装

Github地址:https://github.com/Mr-xn/modify_freebuf_pic


Mrxn 发布于 2019-5-1 16:38

写个了油猴脚本-freebuf文章图片去除!small 技术文章

写这个脚本的原因就是我发现freebuf的文章里的图片后缀都会跟一个 !small 后缀,我想网站初心可能是为了对付爬虫吧,恶意爬虫爬去文章文字和图片,但是对于我这种懒虫,不喜欢点击一下放大去看图,而是比较喜欢文章的图片就是页面最佳尺寸,简单的研究了一下,发现去掉文章里的图片的 !small 后缀后,文章图片默认就会显示最佳尺寸了!简直Nice啊!但是每次这么去手动修改太麻烦了,如果文章图片太多,那岂不是要累死?于是这个脚本就出来了!效果如下的动图演示:
去除 freebuf 文章!small 演示动图

使用:前提是在油猴脚本支持的浏览器(比如chrome,Firefox这些现代浏览器),在油猴插件里面自己粘贴我发布在GitHub仓库的代码或者是从Greasy Fork 在线下载安装 (强烈推荐)


Mrxn 发布于 2019-4-14 22:38

偶遇邮件钓鱼二维码 网络安全

今天看到群里一个小伙子说他收到了一个邮件,一张二维码。。。erweimaa.png

正好我看到了,暂时没事就识别了一下。。。二维码是个短网址,还原后就是一个模仿的QQ邮箱登录界面,而且奇丑无比。。。下面先给大伙看一下:

erweimatioaz.png

看了一下页面的源代码,是经过Escape加密的。加密前的源代码在这里:

小知识:

定义和用法:escape可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

说明:该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

https://pastebin.com/pXTWzpn3 

UnEscape解密后:https://pastebin.com/9WibA9RA 

jiemihou.png

当然,发件人有可能不是作者,只是买来的或者是盗来的。这里不做深究。但是钓鱼的主域名明显是个企业网站被入侵后搞得。还装了狗。。。anquang.png

。。。。想玩的自己去看源码玩

PS: 不要乱扫描二维码。。。至少我目前知道一种方法可以从QQ(手机版Android/IOS)直接打开你的支付宝,进入支付界面。


Mrxn 发布于 2017-12-29 15:29

几行代码轻松撸腾讯云的学生机 技术文章

前言



腾讯云学生机老早就有了,那时候学生认证下,代金卷发下来了。哪知道腾讯的学生机策略变了,每天12:00 200台机子限量抢购,恶心!


现在手中的阿里云和腾讯云对我来说不够用,找个以前同学借个号认证就行了。表示就差腾讯云没抢到。


一开始我听群里的基佬们说好抢啊,12点到了不用刷新网页就可以抢了。然而当天中午抢购的时候事实上不是他们说得那样...特么需要刷新一次网页才能抢,而且1S之内特么全没了??这尼玛怎么抢啊?各种暴走。

看我如何XXOO翻腾讯云的辣鸡抢购



可以看到鼠标放在[red]今日已抢完[/red]那里是一个禁用标志,那么ctrl+shift+I 在dev-tool里面可以很清楚看到如下代码:

<button type="button" hotrep="qcact.campus.getVoucherBtn" class="button J-gotoAuth" data-title="今日已抢完" disabled="disabled">今日已抢完</button>

我们只需要去除掉这段 :disabled="disabled" ,现在可以点击领取了,but ,

有弹窗,无非就是没到时间,没发抢购(抛出异常)。然后在Network窗口看见,有参数接收反馈,这意味并不需要手动刷新网页。只要写个定时函数就行了。


那么上面所说到的抛出异常,也就是那个弹窗,给隐藏,这样可以狂点那个按钮了,审查元素后,得知id="dialog-event-xxxxxxx"。右键hide即可。


控制台写如下代码:

var c=0;
function iiong() {
    $(document).ready(function(){
        $(".J-gotoAuth").trigger("click");
    });
}
setInterval("iiong()","500");
这样,在11点58分钟开始运行这段代码,就等待抢到吧。。。。也不知道为毛要搞个抢购,要想真正的福利学生,直接让需要的学生在学校里面通过学校向你们申请,这不是更能验证身份么。。。真的是很蛋疼的抢购,大部分抢到的都是些‘假学生’,运营脑袋是不是有gain!


好了,今天就比比到这里,改日再来;

声明:禁止用此方法抢到的机器干违法乱纪的勾当,出事儿别找我。。。我不负责,我也负不起责,一天天都快烦死了。


Mrxn 发布于 2016-12-19 21:05