浅谈js逆向之发展历史(转)(有用)

浅谈js逆向之发展历史(转)(有用)

2023年7月7日发(作者:)

浅谈js逆向之发展历史(转)(有⽤)

不知不觉玩这个领域已经有点年头了,⼀直想推动这个领域发展,奈何靠某个⼈是很难实现的,所以我创办了编程喵的群,找了⼀些志同道合的伙伴⼀起推进js逆向领域的发展,并且开发配套的⼯具,录制了⼀些公开教程,偶尔也会直播公开课。这是浅谈js系列 只说⼀些个⼈的看法以及介绍⼀下这个领域的技术。js攻防也就近⼏年发展的⽐较迅速,像08年-14年的时候 ⼩⽹站⼤部分还都是静态为主,中型⽹站会掺杂少量的原⽣加密,⼤⽹站也只是在原⽣加密上做⼀些变种,混淆的代码不是没有,不过也都是⼀些变量的混淆。(常规加密算法md系列 aes系列 3des rsa 等等)美好的事情总会破灭,后⾯随着前端技术的发展 h5的崛起,以及很多开发者对IE兼容的烦恼,产⽣了很多⼯具⽤来进⾏语法转换,浏览器兼容,⽽这些⼯具⼤部分都是AST的产物,随着⼀些前端安全⼯程师技术的进步,出现了例如 萨满 sojson 这种 语法级别的混淆,其特征在于常量的统⼀封装加密,语法的混淆,逻辑的混淆。这种类型的混淆后⾯被统⼀为ob混淆。⾃从有了这种混淆器,各⼤⼚商开始进⾏了⼀波技术更新,其中以淘宝这些⼤站做的最全,也就出现了以逻辑平坦流为逻辑混淆的技术,当然这些东西早在很久就被应⽤在 汇编代码的混淆了。后来各个⼚商发现光混淆好像不能解决实际的问题,因为⼤家都是⽤的AST做的混淆器,难免就会出现反混淆器,所以各个⼚商⼜在反调试技术上下了功夫。什么⽆限debugger, 历史记录轰炸,死循环,检测开发⼯具层出不穷,可把做逆向的头疼不已。并且防守⽅也知道,光在浏览器上做反调试是远远不够的,因为随着攻击⽅的技术提升,可以利⽤的⼯具也就变多 如:fd本地替换 node调试 离线v8 等等。防守⽅意识到也要检测离线环境,检测node特征,检测⽆头浏览器特征,检测开发者⼯具协议,检测浏览器环境 bom dom ,当然攻击⽅也不傻也可以很好的应对。最近防守⽅似乎意识到他们的混淆器混淆的⽅式强度远远不够,jsvm技术开始兴起,那就要说说什么是jsvm了 其实就是把js的代码翻译成⼆进制的数据,然后⾃⼰实现了⼀个解释器⽤来解释这个⼆进制运⾏。其实jsvm也不是独⼀份,所谓技术的进步就是 借鉴,这可不是我说的 有问题问鹅⼚,我本⾝是⼀个游戏开发架构师,看着游戏从pc到web到移动端,在web端的时候性能问题就产⽣了, wasm技术横空出世, 其提速效果是当时纯js的10倍以上,其原理就是把C++代码编译成汇编类似的语法,浏览器解释运⾏。说了这么多 你还觉得js逆向简单的话- - 那么确实很简单,如果你觉得js逆向难的话 有的时候也是很⽆奈的,这⾥说的js逆向是说的纯本地js引擎能脱机运⾏的技术,别和我说拿⼀个浏览器控件或者调⽤起浏览器做⼀些模拟操作或者利⽤开发者远程协议进⾏⼀些操作的⽅式,这些⽅式不是不可以,但是脱离了js逆向的范畴。当然现在⼤部分公司会从成本和实现成本上考虑这种技术,但是对个⼈的技术成长没有帮助。最后希望有更多的⼈可以关注这个领域的技术。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688683558a162199.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信