diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index e0d8816..868e83a 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2460,7 +2460,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('file-search', Buffer.from('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', 'base64'));"); // identifer: Refer to modules/identifers.js - duk_peval_string_noresult(ctx, "addCompressedModule('identifiers', Buffer.from('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', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('identifiers', Buffer.from('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', 'base64'), '2021-11-03T00:44:29.000-07:00');"); // zip-reader, refer to modules/zip-reader.js duk_peval_string_noresult(ctx, "addCompressedModule('zip-reader', Buffer.from('eJzVG/1T20b2d2b4Hza5mVpujDE2oS0+2iMYrkwJZDC5TC9lMrK0wgJZ0kmrAs1wf/u9t7uSVquVZJLeD6XTGPbjvbfv+71db3+7uXEUxY+Jf7NkZDwaj8hpyGhAjqIkjhKb+VG4ubG5ceY7NEypS7LQpQlhS0oOY9uBDzkzIP+iSQqryXg4IhYueCmnXvanmxuPUUZW9iMJI0aylAIEPyWeH1BCHxwaM+KHxIlWceDboUPJvc+WHIuEMdzc+FVCiBbMhsU2LI/hL09dRmyG1BL4WTIW729v39/fD21O6TBKbrYDsS7dPjs9Oj6fH28BtbjjfRjQNCUJ/U/mJ3DMxSOxYyDGsRdAYmDfkygh9k1CYY5FSOx94jM/vBmQNPLYvZ3QzQ3XT1niLzJW4VNOGpxXXQCcskPy8nBOTucvyZvD+el8sLnx4fTq54v3V+TD4eXl4fnV6fGcXFySo4vz2enV6cU5/HVCDs9/Jb+cns8GhAKXAAt9iBOkHkj0kYPUBXbNKa2g9yJBThpTx/d8Bw4V3mT2DSU30e80CeEsJKbJyk9RiikQ525uBP7KZ1wJ0vqJAMm325sbv9sJOb44ml2SA7Izwv/Gr/emYlyMTiZ7kx/Gu9/LwbMTHNz7bjLe/e71eIrsx+E4iQA5hSkpBasnh3p9udPN4oA+qCuAn9Re9frDGZ/iwLwsdJBkAkJ37k6iAOh+Z7Ol5dKU9Tc3PgsF8T1iAQIHODeMA5sBg1bk4ID07v1wMu71xSq5GH9wO+DGj2EKbGZWbxsw30Z+aPV++41TieuexAcNUroODNwpgWzrMPDQLLoDblc3tdBNfiIIkuwTBVwJbWFzFgugw3Tpe8zKV90vwR4tORXQ8AZs8EeyU+cEB/LqgFjrE0JeaThzpEIU1otCpF4K/KAPYCrp/DF0LETW75eLFTrwp7pvdef6SblNwfFUMPZJURH6wBLbYefwacWabgxjGrpgFjkr4GijPvlM4mEaZYlDh04QpRS4ByOfwADxt4SyLAmnqvxCgA0cL8HFUVywnGu10Il4iCQLdQVuPYu1iGP611FrB/xJFNChH3rRjtU7FkIA3sCB4DTcTuUOljzWsBntWsNgM2dp0fppa8JTp0CKt1ZFa6Q8C9jiF1gpHA8XmwR4Q9mcD1oojRwILI0yFmdM9VpcVR1Yy+gHCCNU7sNzDEDBvMC+SYEV94seeaoBGob2Ck1YkXk5VzrRuDYXgSj4qXsDUhiAVWcRahCG5xxYflig2CEvDkhlLudm4og9SFyLtVbhIrt7R5dH5AglSjwb/I/bU/lfk4EiY66Niv2qsAt1UNgnTxH7MbUKruD8UyVq/OHHMXUvFrfUAZgY/0u/wFF8EnOnM+ByD1ZvAVhQxaG6sTdVN3Ao6HXxU85gPLbQ/G8fMJ3IEWk8E/tPZvnmj7cP10PPVZixAOx3VeUXJAxd6vkhfZdEENbZI2fPgPQw50pBAxQkoLn7dY0wSA/JBWkAMR+vp/UpXxuDI1o+P1zJhX51iYZAinsYZ+nSUnZ99K+FZmkYnkyaQiz4NLn+vioUVOaD8tSowBxDTQQ5UJUcXHmNIAo9U0EXnkBFoLgHIxrOQPCH5IDUMFVCJbFe4DqMRGyZRPfE6mFS7UWQoIHtlF5KkdhUHUMQCGGI+TYmjkgeD26Ngtcc9nkE9UGx94XJYrmDupcZm9UpdMymqaqEzjIL78BPBaAJ/fp6AwgDne/sNN2+WiaZiCscZh7NX8HQ4pGBLejU5z+KmsC/k3FOUz7etA+yGSFB1OKLXwzUt5ygQCx35+rALYIT0IRWoCbr4O7Ajz+c8VYbrpJSvhYFngVBy4an5qkyqfgCUqtE8M/nU9Ew3ExYt/xEujezmb2m9NY/iIHap0F9DPy/HahW9UxzWlOduljBT4/K0Xb4doX788UD0oEqHKwryejXcRnDv8rk1P9DD3MtFOnG3kwOL88KgSjaVZRqI/LNN1WJVdxHfWdei/WbfdnXakDhDZt0bw0YJZ9yLSF/Fb9EV1gMuYnth42BpoWIhmGDYmqJkSEkDxeZ59HkbeRiLrpjWKDqhinJE2tyxfJs4I5pRW5ajQtaBIPzIuaODDOxnWlFm1oLVIRVaxNUKrA89aHuVtFCEgXZjOZzkL1+Jh/enF7N98nWzusqTxW8/EgydcOPqTaF/mHuh3dqNlgMWjRJBiIRuYQh+JULab1UbGz1EA5PbgoQZWZDPh5fXorUB7Dg+DUk/gXqYUoDb/iJLz2jHtNVpnEh2Too0bVv4nmdJc40TLH7ao2U4/YNlWjDufFne5vMopCSD2XvlXtf3pXkfZZFEDl39Y2FEyrPoCW8LVh1rkNiObs4PyZ4AOyaXmErOwG1Seq1q0I5JM1vo4QSNK6WUADGY4yCBk9g9k4NJwAKCvTkKuLUd58VNOwSbIamyO8SgFAqjaUDrTxu4kW1DYLyk8LhRYnnYgtEaMx+joL/NSAi0O3riCHy7Y5+2CM/iY/6vClqV5heaO0anK+6gSZj5+rPPQ7Tl4CK2sHPvGdQcwva3Fd5h53c7pCm96chm4zPjq1RH1X/7ORSP6qm4v+kIU3sgLzLkjhKKTkJbNme06Du7AHUvVoGoYFT6kXylrJl5DYD+74L2AkkQufYBTuTCtEEadxJF+89dsOpk6SLSjpJrsMgziK+YHvrQAfKJbGz26/U5QbqFNtjkUw0kUarAXuzSXRt6GsFsR49aybbdn6w4bX9Um7pTQQK0zfvzf3Bn86NBnxgCD7aaSMAfvrI81LINl6RyahZLZsVzVR0NOEzua2aSzJtNXqmKITwLHPVhsBsaueqQZUonry0gTlURFPjTs4C2PZG8MIOgFgLhdRhtmd4JiIORf6hRCNFAh0gyNaPRRcL0lWkERu69bhWT6XXj1+Vc01GkO+UOlQjGAUtBjWRVcRbv56oNDwrnUjZHj8MAjXKlKP8ykHcpJjvAbpvkgxawXuUJWRguBNk8LfV28dbIexclrN4VSGROPeQ+sj7HzE5VYPvuqm+jj5ldsLSDz5b8quor0Bf/qG3u8vOOHY95SWEVZoQKNkAFtyKrq3IOFJuhOm0GLjlA7fTqozxOMppID8UZ1n7frB2YJU32QKfJIQ3mJYr47KlsEV2+lO91hFXPtLWNReiXGGqeLRVsszUS0x+JVJeGPCbiraLX1ZeqRbtDb7po3+t1WqK6ig3Rto9QZc1fSoNR7Ty03EleatPo5BWjZa1EtRW7pcbjwv5u+eHfrqkWtrOAfH7Z/4b/JIFLNWdlmha1+48y2Oba1sVpODyZ4JXEvtEoZ9faFeVtrqP0jurPyyuTKuXJJZprX7Z0wxvKMwOF6y3Hq9BXahhKiHOWbvgnh1eHcrrBCk4nZ9lzwyiAEqVtz47i1tlSx42ALVjM+ujc63j0GqSeiX4PATF1IC04lpTxpzHYJprZhEah49DF591OVmS0JCRvD9jUmj0ARoFRUpRnKlp4x8mg7byaWPMbQiucrM5xspJw0X7/zFo4Pm4ceaM4H9oCyTndDfMeVN3700u8NleFDOms5Ya2DDfXgebb1FNcIayP1duMOaVWF+SS97RwSyxonuIAZmJHupMOm5jeTeu5LB68knI1xTYdWhQZm5Nxmg3avFJ3KJZ01CBdkD94qq9GZbMtVuo6oL0Xj1hO6zxuAPWmZ0y8jZy8Ukkf+hIrvyVGSA/5c7o2QBnNmsD2EWh6FCc+DRwn9unMFQqXTVKVbX7WJKUDomC4cHfa78TgBFuSud2zlJvyKK5SDhrHZUvoBakoVE4BhLhf2/cHXBbVZS3Sef2Kg5yyscl6b0lfejV6H/qDhlGnyTrccXdyhhUWaq6SG3q616UNBPWdKfxbDFpha+x5DUQoLJQYQzPYitvd0Raa0yziwdUL2p5WK2eqLzOQ5j8IWkOwZiAiKdZhnus6sMvbUH5FrWCmP4O+Q4iP8Zfjlc+Y5ijAQ85EZXnS5hh/beaX+VZQvEs9an+uI2LK7bZsnzT9n/KQjjzH2MaYa2DCHl9KopNwytUXrQ3vgHmANpLQfGYkLsb9TmUqdQxPRDTe2Y0rD3YTJnNSmqGabWpJS423dquCGrUYtdA1zJwQcwGoQ8vPl3OLs7Pfl3nta1CIQKVZYiRls+kuI4BN+alMj2e0dRJ/JhFSW9QmKwgsDTTUeG7CkUFsI5bcUX497Oys9wkPqt9Svm0QYa08j1De4/JFPD7aOhHs0vUVqStaJTe4nOwBBzHcZLAsetvtVUi25K7PNBO69uo17oJ3KBhE+Qy7bvGpl3yEXDlZnV3b0B29/A5eBnAlXjbddlwBE4HE9IZ6KcDqvEoU+D9mhnVI6f88k9zZrLbdREDI2/90F9lq6+4ZYKRMtcwPRhtS5zfPyNxXoeS56Sp67Bn7QR6PFoDGveUz85+x18OuSMNXocD+NW0JAQVPWTye1RpM8TJOjKC5HotiJyvk86LSRip3EzYrBnabp2X67k4UD50cvrrBVPHp0z4yEF9umFX/iP6fPhvy/V59ZJnv0kfWyCo9WoLjN02GCKZNO8EPrfs9KCiVeKE8eZSPyt3dA3FYdv2xDFTCAI173rS9EOLVEWrS4sClQiAj3+84tci2DSmP5WgmVqYExq+EaFXN+LdV6QnB3zkWemBeEej9Vv8SuiS1wQHZDyaEp/8nVTShil59cpvzxssgURnXDX72CJ+v6/nFpDC8q86Pru4PMF0lMzxJgpDzfHRLO8voXvwlTdbHiTghIoWKBbjxidFGvStpp91NhMI+Okd+ZvwVII1XbHbCOY8Wy1AHYHupkwixW+98m/+un7qNCOs+1kjwquIAZKwG20zpp16qDSi4rfDJhRG0MKqx/qbik4szXxLl1EWuGSB33AuvF0jZhH56ghNzzi4iZber6mEbzhhpa5voIW/X1DRwG8mdqjfZMp/TPevFZ+TQ608aCi9kWmuxgNZLrV0mUbaOWX9tUVgCo9XIuyXJEBxkRea1SLcT//tx1oVjn6ps9wEXzfhX0HN61j+wrZf+bppdwnaSxaFOvIvoKU8Y9MfYahLyselOmz+AgVhI/8EJORjpYrsG1lfdlg8t1RXnvSU2A7ILr5pF4A/jq75JenD65EyuCMHd98og2M5OJoog5N8cLflW15JVn55UBVlwWwpzVXkZmC79CGOEn6H8lm+z0p4jOMy3hcfoLH/Az9eiek=', 'base64'));"); diff --git a/modules/identifiers.js b/modules/identifiers.js index b3aa5ab..30cae98 100644 --- a/modules/identifiers.js +++ b/modules/identifiers.js @@ -1,5 +1,5 @@ /* -Copyright 2019-2020 Intel Corporation +Copyright 2019-2021 Intel Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21,7 +21,42 @@ function trimIdentifiers(val) if (!val[v] || val[v] == 'None' || val[v] == '') { delete val[v]; } } } - +function trimResults(val) +{ + var i, x; + for (i = 0; i < val.length; ++i) + { + for (x in val[i]) + { + if (x.startsWith('_')) + { + delete val[i][x]; + } + else + { + if (val[i][x] == null || val[i][x] == 0) + { + delete val[i][x]; + } + } + } + } +} +function brief(headers, obj) +{ + var i, x; + for (x = 0; x < obj.length; ++x) + { + for (i in obj[x]) + { + if (!headers.includes(i)) + { + delete obj[x][i]; + } + } + } + return (obj); +} function linux_identifiers() { var identifiers = {}; @@ -82,12 +117,18 @@ function windows_wmic_results(str) var tokens; var result = []; + console.log('Lines: ' + lines.length, 'Keys: ' + keys.length); + for (i = 1; i < lines.length; ++i) { var obj = {}; + console.log('i: ' + i); tokens = lines[i].split(','); for (key = 0; key < keys.length; ++key) { + var tmp = Buffer.from(tokens[key], 'binary').toString(); + console.log(tokens[key], tmp); + tokens[key] = tmp == null ? '' : tmp; if (tokens[key].trim()) { obj[keys[key].trim()] = tokens[key].trim(); @@ -169,82 +210,45 @@ function windows_volumes() function windows_identifiers() { - var ret = { windows: {}}; values = {}; var items; var i; var item; - var child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'bios', 'get', '/VALUE']); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - - var items = child.stdout.str.split('\r\r\n'); - for(i in items) - { - item = items[i].split('='); - values[item[0]] = item[1]; - } + var ret = { windows: {} }; + var items, item, i; + var values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_Bios", ['ReleaseDate', 'Manufacturer', 'SMBIOSBIOSVersion']); ret['identifiers'] = {}; - ret['identifiers']['bios_date'] = values['ReleaseDate']; - ret['identifiers']['bios_vendor'] = values['Manufacturer']; - ret['identifiers']['bios_version'] = values['SMBIOSBIOSVersion']; + ret['identifiers']['bios_date'] = values[0]['ReleaseDate']; + ret['identifiers']['bios_vendor'] = values[0]['Manufacturer']; + ret['identifiers']['bios_version'] = values[0]['SMBIOSBIOSVersion']; - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'BASEBOARD', 'get', '/VALUE']); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_BaseBoard", ['Product', 'SerialNumber', 'Manufacturer', 'Version']); + ret['identifiers']['board_name'] = values[0]['Product']; + ret['identifiers']['board_serial'] = values[0]['SerialNumber']; + ret['identifiers']['board_vendor'] = values[0]['Manufacturer']; + ret['identifiers']['board_version'] = values[0]['Version']; - var items = child.stdout.str.split('\r\r\n'); - for (i in items) - { - item = items[i].split('='); - values[item[0]] = item[1]; - } - ret['identifiers']['board_name'] = values['Product']; - ret['identifiers']['board_serial'] = values['SerialNumber']; - ret['identifiers']['board_vendor'] = values['Manufacturer']; - ret['identifiers']['board_version'] = values['Version']; - - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'CSProduct', 'get', '/VALUE']); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - - var items = child.stdout.str.split('\r\r\n'); - for (i in items) - { - item = items[i].split('='); - values[item[0]] = item[1]; - } - ret['identifiers']['product_uuid'] = values['UUID']; + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_ComputerSystemProduct", ['UUID']); + ret['identifiers']['product_uuid'] = values[0]['UUID']; trimIdentifiers(ret.identifiers); - var CSV = '/FORMAT:"' + require('util-language').wmicXslPath + 'csv"'; + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_PhysicalMemory"); + trimResults(values); + ret.windows.memory = values; - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'MEMORYCHIP', 'LIST', CSV]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - ret.windows.memory = windows_wmic_results(child.stdout.str); + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_OperatingSystem"); + trimResults(values); + ret.windows.osinfo = values[0]; - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'OS', 'GET', CSV]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - ret.windows.osinfo = windows_wmic_results(child.stdout.str)[0]; + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_DiskPartition"); + trimResults(values); + ret.windows.partitions = values; - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'PARTITION', 'LIST', CSV]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - ret.windows.partitions = windows_wmic_results(child.stdout.str); + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_Processor", ['Caption', 'DeviceID', 'Manufacturer', 'MaxClockSpeed', 'Name', 'SocketDesignation']); + ret.windows.cpu = values; - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'CPU', 'LIST', 'BRIEF', CSV]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - ret.windows.cpu = windows_wmic_results(child.stdout.str); + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_VideoController", ['Name', 'CurrentHorizontalResolution', 'CurrentVerticalResolution']); + ret.windows.gpu = values; - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'PATH', 'Win32_VideoController', 'GET', 'Name,CurrentHorizontalResolution,CurrentVerticalResolution', CSV]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - ret.windows.gpu = windows_wmic_results(child.stdout.str); - - child = require('child_process').execFile(process.env['windir'] + '\\System32\\wbem\\wmic.exe', ['wmic', 'diskdrive', 'LIST', 'BRIEF', CSV]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.waitExit(); - ret.windows.drives = windows_wmic_results(child.stdout.str); + values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_DiskDrive", ['Caption', 'DeviceID', 'Model', 'Partitions', 'Size']); + ret.windows.drives = values; // Insert GPU names ret.identifiers.gpu_name = [];