当前位置: 首页 > web >正文

代码混淆技术的还原案例

案例一   eval 混淆

特征 : 反常的 eval 连接了一堆数据 

练习网站
https://scrape.center/

spa9 这个案例

基本的还原方法

但是这个代码还是非常的模糊不好看

优化一下  :

当然还有更快捷的方法 : 

好用的 js混淆还原的 web :

https://jsdec.js.org/https://lelinhtinh.github.io/de4js/

真实的案例 :   

https://www.aqistudy.cn/

这个案例之前做过就是 debugger hook失败的那个  原因就是 hook无法处理eval 混淆的数据 

这个eval可能比较不同 就是他的这个这个里面还有一个函数  其实里面这个就是解密数据的 然后 eval 解密回显到前端

案例二 JJencode :

spa10          特征 : 反常的 $,[]等特殊符号

手lu :

原理就是 函数 如 xiaodi() 这个是混淆的函数  然后我们去掉 () 函数就失效了源码显现

老套路优化一下就出来了

案例三 : AAencode

特征其实就是颜文字 :

判断之后直接网站解

案例四 : JSfunck

特征 :就几个元素 [] ! + ()

也是去 括弧解法

或者是 直接在webstrom中进行运行 :

案例五 :ob混淆

obfuscator :特征 就是  无规则的0x  以及 类似于计算机中文符号的 /x

这个只能使用 AST(js的原始算法进行解密)

AST的基本语法

AST explorer

官网 我们写入一个简单的js代码

并且还有就是转为ast的语法结构 :

VariableDeclaration    代码声明的变量

其实这个ast就是前端的对语法单词的转换  每一个块都是这个树上的一个树叶 :

当我们点击name的时候

ldentifier  翻译一下就是标识的意思   这个也确实就是标识符的意思

第三个块就是里面的内容 也是一个块  其实 = 这个也是在这个ast树有自己的结构类型的 (他也是标识符)

Literal  就是文本内容的意思

为什么ast树可以很好的分析 这个 ob混淆呢   因为混淆的原理就是就是把代码中我们能看懂的内容变为我们看不懂的内容 就是把内容混淆了 还有一些函数的名字等 

我们使用ast树操作一下这个ob加密的代码

使用ob混淆web进行混淆一下

复制到树那边

其实就能看着这个类型进行分析的

web直接梭哈 :  
https://obf-io.deobfuscate.io/

https://webcrack.netlify.app/

https://deli-c1ous.github.io/javascript-deobfuscator/

这三个web都是非常好用的

上练习web :

抓包发现前端的数据被混淆 通过特征  0x  _开头的函数可以知道是ob :

方法1 直接web梭哈 

方法2 就是使用 ai+ast树进行分析

使用 deepseek 直接分析 

但是有个就是 ob 混淆的延伸 v代号的混淆  这个只是国内小作坊的二开

案例 : jsjiami v6 :
https://eisk.cn/Tides/1346.html

这样的不经意看还以为是ob 但是和 ob差的就是  \x 这类中文字符的加密

复制到

拿到代码

判断是aes加密的文件  先把算法逆了          

https://www.mklab.cn/utils/aes

发现主页类似于这样的加密数据

是不是直接拿下了 发现这个就是页面显示的内容

http://www.xdnf.cn/news/8749.html

相关文章:

  • LangChain
  • [软件测试_5] 设计用例 | 等价法 | 判定表法 | 正交法(allpairs.exe)
  • 【人工智能】AI的炼金术:大模型训练的秘密配方
  • C语言-枚举
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据合并与对比-pd.concat():轴向拼接
  • wan2.1代码笔记
  • 简说IMM
  • AI 理论- 模型优化 - 注意力机制
  • 整平机技术进阶:从原理到实战的深度解析
  • MD5加密(Java)
  • 如何快速解决 java maven项目中jar冲突的问题
  • CAU人工智能class6 ResNet
  • 业务设计篇隐私合规检测URL 重定向资源拒绝服务配合项目
  • leetcode2466,爬楼梯变体,取模注意
  • 【第四篇】 SpringBoot整合第三方技术
  • 板凳-------Mysql cookbook学习 (六)
  • day25JS- es5面向对象、Proxy代理对象
  • ARM笔记-ARM指令集
  • PG Pebbles 靶机复现
  • 【C++】移动窗口
  • Java中使用Stream API优化for循环
  • [NOIP 2003 普及组] 麦森数 Java
  • AI要掌握的知识
  • Python_day35 模型可视化与推理
  • Java 内存模型(JMM)深度解析:理解多线程内存可见性问题
  • 网页 CSS美化2(详解)
  • Reason-ModernColBERT论文速览:内存受限设置下深度对比学习批量大小的扩展
  • IDA插件 MIPSROP的安装和使用方法
  • 电子人的分水岭-FPGA模电和数电
  • 大模型智能体入门扫盲——基于camel的概述