js_security_v3_0.1.6.js文件进行的一定程度的混淆, 直接进行参数分析可能较困难, 所以尝试先利用 ast 解开部分混淆规则, 例如先解决字符串替换函数, 控制流等, 然后再进行分析会更容易理解代码逻辑. 1.1 字符串函数还原 字符串函数意思是指传入指定参数返回特定解码字符串的函数, 该函数目的是将字符串隐藏起来, ...
等,可以使用evaluateGlobalFunc插件来进行值的替换。 而自定义的函数,你可以将函数的整个定义copy到解混淆的文件中去,再遍历 CallExpression节点,本地进行计算得出结果再进行替换即可。 只要函数可以能正常运行调用即可。 也可以使用 星球里的CalcCallExpression插件自识别函数调用计算并替换。 当遇到类似自执行函数,包含Ca...
AST解混淆可以分为两个主要步骤。首先,需要将经过混淆的代码导入到解混淆工具中。其次,解混淆工具将执行反混淆算法,并从中提取出一份易于理解的、可读性较高的代码。 通过使用AST解混淆技术,可以有效地解决一些经典的代码攻击。例如,可以通过解混淆将经过加密的JavaScript代码还原为易读性高的JavaScript脚本,从而帮助开发...
使用@babel/generate还原AST为JavaScript 在learn-ast中新建一个文件为basic2.js,内容为: import{parse}from"@babel/parser";importgeneratefrom"@babel/generator"importfsfrom"fs";constcode=fs.readFileSync("codes/code1.js","utf-8");letast=parse(code);const{code:output}=generate(ast);console.log(outp...
ast解混淆 查找变量的关联关系 解混淆技术是一种用于还原被混淆、压缩或加密的代码的技术。它主要用于分析和理解代码,以便更好地理解代码的结构和功能。在解混淆过程中,查找变量的关联关系是一项重要任务,它可以帮助开发人员理解代码中变量之间的依赖关系,从而更好地理解代码的逻辑。 在解混淆过程中,我们首先需要定位...
第一步 处理CallExpression 下图是某个被obfuscator工具混淆了的代码部分截图: 这里有很多的 CallExpression,诸如: _0x552e53('3$kU',0x1ab,0x153,0x261)_0x3be775('vrJS',0x2cb,0x307,0x228)_0x3be775('mbUX',0x432,0x36d,0x379)... 它们有...
Python操作AST解JS混淆,通过生成语法树(AST),可快速修改代码中的一些混淆处理,从而简化代码,便于后续分析。
1.1万 14 43:37 App AST还原加密混淆JS 1765 2 17:58 App 某动漫网站图片地址JS逆向解密(初级无混淆) 3435 2 10:35 App VIP视频解析接口逆向系列-02 1.7万 87 44:28 App 安卓Python+Frida Hook入门教程【简单HOOK+RPC主动调用】 6589 3 26:31 App 某网站请求数据JS逆向解密(较为少见) 1.9万 14...
https://astexplorer.net/ 首先需要安装依赖:npm install @babel/core 参考大佬的代码,导入依赖 这次我选的JS是生成Alina Cookie的JS。通过在Initiator 里面找到生成Alina的JS 原JS太长了,我起作用的代码扣出来。 生产Alina的方法 4个大数组 然后o方法是反混淆函数,其他的就是和生成Alina有关的函数。