美文网首页
node加密rdp的密码

node加密rdp的密码

作者: aq_wzj | 来源:发表于2020-11-30 17:30 被阅读0次

    1. 代码

    代码参考: https://github.com/node-ffi/node-ffi/issues/355

    const fs = require('fs'); 
    const ref = require('ref');
    const ffi = require('ffi');
    const Struct = require('ref-struct')
    const Array = require('ref-array')
    const DATA_BLOB = Struct({
        cbData: ref.types.uint32,
        pbData: 'string' // ref.refType(ref.types.byte)
    })
    const PDATA_BLOB = new ref.refType(DATA_BLOB)
    const Crypto = new ffi.Library('Crypt32', {
        'CryptUnprotectData': ['bool', [PDATA_BLOB, 'string', 'string', 'void *', 'string', 'int', PDATA_BLOB]],
    });
    const data_blob_input = new DATA_BLOB();
    data_blob_input.cbData = row.encrypted_value.length;
    data_blob_input.pbData = row.encrypted_value;
    const data_blob_output = new DATA_BLOB();
    const result = Crypto.CryptUnprotectData(data_blob_input.ref(), null, null, null, null, 0, data_blob_output.ref());
    cookies[row.name] = data_blob_output.pbData.slice(0, data_blob_output.cbData);
    console.log(row.name, cookies[row.name])
    

    2. ffi安装

    Node 10 and lower
        npm i ffi
        https://www.npmjs.com/package/ffi
        https://github.com/node-ffi/node-ffi
    Node 11 and 12
        npm i @saleae/ffi
        https://www.npmjs.com/package/@saleae/ffi
        https://github.com/lxe/node-ffi/tree/node-12
    Node 13 and higher
        npm i ffi-napi
        https://www.npmjs.com/package/ffi-napi
        https://github.com/node-ffi-napi/node-ffi-napi
    

    2.1 安装ffi注意事项

    1. 需要python2环境

    2. MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”

      解决: 管理员身份启动cmd运行: npm install --global --production windows-build-tools

      参考:https://www.cnblogs.com/diffx/p/10510868.html

    相关文章

      网友评论

          本文标题:node加密rdp的密码

          本文链接:https://www.haomeiwen.com/subject/eccdwktx.html