const crypto = require('crypto'); const fs = require('fs'); const child_process = require('child_process'); const keyPath = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography'; const keyValue = 'MachineGuid'; const passPath = 'HKEY_CURRENT_USER\\SOFTWARE\\HwaSmart'; const passValue = 'BDAuthorization'; function cryptMD5(GUID) { let md5 = crypto.createHash('md5'); let ciphertext = md5.update(GUID).digest('hex') return ciphertext.slice(0,8)+'-'+ciphertext.slice(8,12)+'-'+ciphertext.slice(12,16)+'-'+ciphertext.slice(16,20)+'-'+ciphertext.slice(20,32); } fs.readFile('./KeyWord.txt', 'utf-8', (err, key) => { if (err) { if (err.code === 'ENOENT') { console.error('file not exist'); return; } console.error(err, 'open'); return; } child_process.exec(`REG QUERY ${keyPath} /v ${keyValue}`,function(error,stdout,stderr){ console.log('stderr:'+stderr); if(error != null){ console.log('exec error:'+error); return } child_process.exec(`reg add ${passPath} /v ${passValue} /t REG_SZ /d ${cryptMD5(stdout.slice(83,119) + key)} /f`); }); });