吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2785|回复: 8
收起左侧

[其他转载] 一款js加密的反调试分析【后续继续更新】

  [复制链接]
冰茶荼 发表于 2021-3-16 17:55
本帖最后由 冰茶荼 于 2021-3-17 16:20 编辑

事件起因:

微信截图_20210317154601.png

目标网站:
https://dcd.cmanuf.com/ebook/web/index.html#/epubReader?SkuExternalId=P00109-01-9072FE19EA72529EF49E307D17A787814B1A40E4603F904BD3AEF59A64716273-Epub&Extra=qEbbiKvTB-FwgKrzAi0f6MjmO_N4cXBRMJeKp1S1oVJrrP8YSKdtprQgUG-gCbJhWDhOZbkDyLzTlHTr5W2xICR3SXEQXg3Vx6p2zznincENZ9j0PSoRMpw8PK45OV58Kw5_-m0qFiOHu_Vzz7cDMUP9DogNgipP82Ja56kvkNUaCAZRmUtSbVKFyHygY7CFKAGZpK6wpWOFJx1UTJ8t_-fDd0vYLyBGsifL7pWpzKBFRwcICOduYFgk6tayB61TwfKiMJxIVAtKlyEXgBp6Ig%3D%3D

首先格式化主要的js:
微信截图_20210317154419.png

将js格式化后用fd替换,结果如下:
微信截图_20210317152343.png
直接导致浏览器崩溃,看来有防止格式化的判断代码
微信截图_20210317152319.png

然后开始分析这段js:
该加密特点:开头部分有这种关于cookie的名称,猜测防止格式化判断就在这个地方,
微信截图_20210316180434.png


发现雷同代码块,并且有三种判断情况,这里用正常未格式化的js下断点得知走的是第二个判断

1615967610(1).jpg

然后写死这个判断条件,去浏览器运行
[JavaScript] 纯文本查看 复制代码


if (false&&!_0x17d70b) { //flag false&&           
     _0x1579d3['setCookie'](['*'], 'counter', 0x1);
} else if (true||_0x17d70b) { //flag true||
     _0x5ac517 = _0x1579d3['getCookie'](null, 'counter');
} else {
    _0x1579d3['removeCookie']();
}




然后浏览器继续遇到死循环,这次有报错地址,跟进去
微信截图_20210317155827.png

发现这里的代码是一个典型的死循环调用,因为代码逻辑复杂,这里不过多分析,直接注释掉死循环解决

微信截图_20210317155951.png


[JavaScript] 纯文本查看 复制代码

var _0x210808 = function(_0x4a5be9) {
    var _0x2287f5 = ~-0x1 >> 0x1 + 0xff % 0x0;
    if (_0x4a5be9['\x69\x6e\x64\x65\x78\x4f\x66']('\x69' === _0x2287f5)) {
        // _0x111bbd(_0x4a5be9); 注释掉这里
    }
};



顺带提一句 这里有一个特征码可以快速找到这里
微信截图_20210317160211.png

~-0x1 >> 0x1 + 0xff % 0x0;
经过上面的处理,已经可以正常的替换js打开网站了,正当我准备console一些数据的时候,奇怪的事情发生了,控制台空空如也
微信截图_20210317160613.png

微信截图_20210317160651.png

然后我百思不得姐,以为代码段没有执行 ,然后各种花式console,折腾了很久,我突然想到,去控制台看看现在的console是个什么东西,然后我就感受到这个js加密的恶意了。
微信截图_20210317160920.png

乍一看,还是蛮正常的嘛,实则呢:
微信截图_20210317161030.png

就知道这里肯定有猫腻,遂准备去代码里面去找重写语句,在搜索了“\x63\x6f\x6e\x73\x6f\x6c\x65”( console的16进制\x的编码 ) 未果后 果断放弃,直接走捷径

[JavaScript] 纯文本查看 复制代码

(function(){
    var iframe = document.createElement('iframe');
    document.body.appendChild(iframe);
    window.console = iframe.contentWindow.console;
 }());


直接重新覆盖console 暴力美学

微信截图_20210317161435.png

结果就是console恢复正常,并且打印了很多日志
至此,就可以愉快的调试这个加密的js了
因为接下来的分析很麻烦,暂时还没有时间去搞,先挖一个坑吧,现在很多网站的防调试大概都是这么个套路:防止格式化、屏蔽一些常用关键函数,写一些死循环之类的
只要用好debug工具 调试起来也不是很麻烦

@zoenbo

免费评分

参与人数 4吾爱币 +8 热心值 +4 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zoenbo + 1 + 1 谢谢@Thanks!
Lucifer_BW + 1 + 1 热心回复!
pwp + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pwp 发表于 2021-3-16 17:59
用法与用量,还有注意事项?
 楼主| 冰茶荼 发表于 2021-3-16 18:08
pwp 发表于 2021-3-16 17:59
用法与用量,还有注意事项?

上面的操作可以通过类似的js混淆加密的反调试,这是调试js解密的第一步
zoenbo 发表于 2021-3-16 18:49
大佬真是大神~
这些代码是不是按步骤直接在控制台贴上就行呢?
夜泉 发表于 2021-3-16 21:26
sojson也差不多这样。。。
 楼主| 冰茶荼 发表于 2021-3-17 16:22
第一次写分析贴,感觉不是很舒爽
zoenbo 发表于 2021-3-17 18:16
冰茶荼 发表于 2021-3-17 16:22
第一次写分析贴,感觉不是很舒爽

大佬威武,期待后续,继续学习~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表