diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index 89fd017..3d6cca3 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2336,7 +2336,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('power-monitor', Buffer.from('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', 'base64'));"); // service-manager, which on linux has a dependency on user-sessions and process-manager. Refer to /modules folder for human readable versions. - duk_peval_string_noresult(ctx, "addCompressedModule('process-manager', Buffer.from('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', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('process-manager', Buffer.from('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', 'base64'));"); #if defined(_POSIX) && !defined(__APPLE__) && !defined(_FREEBSD) duk_peval_string_noresult(ctx, "addCompressedModule('linux-dbus', Buffer.from('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', 'base64'));"); diff --git a/modules/process-manager.js b/modules/process-manager.js index 924e9ce..a9e9db2 100644 --- a/modules/process-manager.js +++ b/modules/process-manager.js @@ -22,6 +22,13 @@ var TH32CS_SNAPMODULE = 0x08; var PROCESS_QUERY_LIMITED_INFORMATION = 0x1000; +var promise = require('promise'); +function defPromiseHandler(res, rej) +{ + this._res = res; + this._rej = rej; +} + // Used on Windows and Linux to get information about running processes function processManager() { this._ObjectID = 'process-manager'; // Used for debugging, allows you to get the object type at runtime. @@ -248,6 +255,64 @@ function processManager() { } return (info); break; + case 'win32': + var ret = new promise(defPromiseHandler); + ret.server = require('net').createServer(); + ret._clientpath = 'mesh-' + require('uuid/v4')(); + ret._path = '\\\\.\\pipe\\' + ret._clientpath; + try { ret.server.listen({ path: ret._path }); } catch (e) { throw ('ProcessManagerError: Cannot create connection'); } + ret.server.on('connection', function (c) + { + c.str = ''; + this._connection = c; + c.on('data', function (chunk) + { + if (chunk.toString() == '{{{X}}}\r\n') + { + if (this.str == '') { ret._rej('ProcessManagerError: PID(' + pid + ') NOT FOUND'); return; } + var rj = {}; + var J = this.str.split('\r\n'); + var keys = J[0].split(','); + var values = J[1].split(','); + for (var i = 0; i < keys.length; ++i) + { + if (keys[i][0] == '"') + { + keys[i] = keys[i].substring(1, keys[i].length - 1); + } + if (values[i][0] == '"') + { + values[i] = values[i].substring(1, values[i].length - 1); + } + if (values[i] != '') + { + rj[keys[i]] = values[i]; + } + } + ret._res(rj); + return; + } + this.str += chunk.toString(); + }); + }); + + ret.child = require('child_process').execFile(process.env['windir'] + '\\System32\\WindowsPowerShell\\v1.0\\powershell.exe', ['powershell', '-noprofile', '-nologo', '-command', '-'], {}); + ret.child.descriptorMetadata = 'process-manager'; + ret.child.stdout.str = ''; ret.child.stdout.on('data', function (c) { this.str += c.toString(); }); + ret.child.stderr.str = ''; ret.child.stderr.on('data', function (c) { this.str += c.toString(); }); + + ret.child.stdin.write('[reflection.Assembly]::LoadWithPartialName("system.core")\r\n'); + ret.child.stdin.write('$pipe = new-object System.IO.Pipes.NamedPipeClientStream(".", "' + ret._clientpath + '", 3);\r\n'); + ret.child.stdin.write('$pipe.Connect(); \r\n'); + ret.child.stdin.write('$sw = new-object System.IO.StreamWriter($pipe);\r\n'); + ret.child.stdin.write('$X = Get-Process -IncludeUserName -id ' + pid + ' | ConvertTo-CSV -NoTypeInformation\r\n'); + ret.child.stdin.write('$sw.WriteLine($X[0]); $sw.Flush();\r\n'); + ret.child.stdin.write('$sw.WriteLine($X[1]); $sw.Flush();\r\n'); + ret.child.stdin.write('$sw.WriteLine("{{{X}}}"); $sw.Flush();\r\n'); + ret.child.stdin.write('exit\r\n'); + + return (require('promise').wait(ret)); + break; } };