【剑鱼标讯】招标信息 | 逆向分析 |数据解密 | RSA | AES

在这里插入图片描述

data关键词太多了,直接搜索antiEncrypt和secretKey

在这里插入图片描述
在这里打上断点,点击分页
在这里插入图片描述
点击下一步
在这里插入图片描述
这里很像是解密方法,但是又不是
继续走,一直点下一步直到进入这个main.js文件里面

在这里插入图片描述
这段代码就是核心代码
在这里插入图片描述
这就是解密方法
在这里插入图片描述
主要是两个解密方法
都是标准解密,直接导包就行


window = global;
const JSEncrypt = require('jsencrypt');
function rsaDecrypt(n, x) {
    var e = new JSEncrypt;
    e['setPrivateKey'](x);
    var o = e['decrypt'](n);
    return o
}
function AESDecrypt(key, encryptedData) {
    const encoder = new TextEncoder();
    const decoder = new TextDecoder();

    // 将Base64编码的加密数据转换为Uint8Array
    const encryptedBytes = Uint8Array.from(atob(encryptedData), char => char.charCodeAt(0));

    // 从加密数据中提取初始化向量(IV)和实际加密数据
    // IV通常是前16字节(128位)
    const iv = encryptedBytes.slice(0, 16);
    const data = encryptedBytes.slice(16);

    // 从原始密钥创建CryptoKey对象
    return crypto.subtle.importKey(
        "raw",
        encoder.encode(key),
        { name: "AES-CTR" },
        false,
        ["decrypt"]
    ).then(cryptoKey => {
        // 使用AES-CTR模式进行解密
        return crypto.subtle.decrypt(
            { name: 'AES-CTR', counter: iv, length: 128 },
            cryptoKey,
            data
        );
    }).then(decryptedBuffer => {
        // 将解密后的ArrayBuffer转换为字符串并返回
        console.log(decoder.decode(decryptedBuffer));
    });
}

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值