首页
社区
课程
招聘
[原创]231解混淆
发表于: 2025-9-12 17:01 1859

[原创]231解混淆

2025-9-12 17:01
1859

不是专业前端,代码潦草勿喷,思路大概就是下面这些,想要解混淆后的文件可以私我,去混淆脚本就不提供了,新版本字符串解密只能解一部分有很多没解出来但流程还是通的,替换之后也是能正常过的同理et开头的文件也是这个流程解混淆

遍历 AST 并查找逗号表达式, 逗号转分号




最后压缩到了这么多case


void (...)

searchVoid = function (path) {
    if (path.node.operator === 'void') {
        // 获取 void 表达式中的内部表达式
        const innerExpression = path.node.argument;
        if (t.isNumericLiteral(innerExpression)) {
            if (innerExpression.value === 0) {
                return
            }
        }
        path.replaceWith(innerExpression);
    }
}
B > 14 && (T_ = "", a = 14) : 18 == B 


andToExpression = function (path) {
    const node = path.node    if (t.isBinaryExpression(node.left)) {
        const ExpressionStatement = {
            type: "ConditionalExpression",
            test: node.left,
            consequent: node.right,
            alternate: {
                type: "UnaryExpression",
                operator: "void",
                prefix: true,
                argument: {
                    type: "NumericLiteral",
                    value: 0
                }
            }
        }
        path.replaceWith(ExpressionStatement)
    }
}
l = Nv ? 265472 : 8660480
l = Nv ? l = 265472 : l = 8660480

if (t.isConditionalExpression(node.right)) {
    const ifStatement = t.ifStatement(
        node.right.test,
        t.blockStatement([t.expressionStatement(t.assignmentExpression(
            node.operator,
            node.left,
            node.right.consequent
        ))]),
        t.blockStatement([t.expressionStatement(t.assignmentExpression(
            node.operator,
            node.left,
            node.right.alternate
        ))]),
    );
    // path.parent = ifStatement
    // 替换原有的赋值表达式为 if...else 语句
    path.replaceWithMultiple(ifStatement);
}
const ternaryToIfElse = function (path) {
    const {node} = path;
    if (t.isConditionalExpression(node.expression)) {
        path.replaceWith(t.ifStatement(
            node.expression.test,
            t.blockStatement([t.expressionStatement(node.expression.consequent)]),
            t.blockStatement([t.expressionStatement(node.expression.alternate)])
        ))
    }

};
if (t.isExpressionStatement(path.parentPath)) {
    if (t.isBlockStatement(path.parentPath.parentPath.node)) {
        path.parentPath.parentPath.remove()
    }
}

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

最后于 2025-9-12 19:24 被wbwnnx编辑 ,原因:
收藏
免费 42
支持
分享
最新回复 (21)
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2025-9-13 08:25
1
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2025-9-13 08:25
0
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2025-9-13 08:25
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2025-9-14 20:23
0
雪    币: 104
活跃值: (882)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢分享
2025-9-15 02:21
0
雪    币: 6650
活跃值: (5611)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢分享   
2025-9-15 08:43
0
雪    币: 104
活跃值: (7074)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
tql
2025-9-15 14:24
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
66666666666666666666
2025-9-15 17:21
0
雪    币: 208
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
感谢分析
2025-9-17 10:14
0
雪    币: 3754
活跃值: (4005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
6
2025-9-17 10:40
0
雪    币: 239
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
1
2025-9-17 16:10
0
雪    币: 6091
活跃值: (5850)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
66
2025-9-18 19:45
0
雪    币: 144
活跃值: (1888)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢分享   
2025-9-18 21:11
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
1
2025-9-18 22:23
0
雪    币: 60
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
1
2025-9-18 23:09
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
感谢分享
2025-9-19 15:17
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
6
2025-9-22 17:34
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
666
2025-9-29 16:30
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
666
2025-10-1 21:00
0
雪    币: 167
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
学习学习
2025-11-12 22:40
0
雪    币: 42
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
666
6天前
0
游客
登录 | 注册 方可回帖
返回