33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
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`);
|
|
});
|
|
}); |