From e36dbff9a307abd10bf19fd680b15b8b7997e4ab Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Thu, 18 Mar 2021 16:17:20 -0700 Subject: [PATCH] Updated GC references --- microscript/ILibDuktape_Polyfills.c | 4 +- modules/win-bcd.js | 22 ++++--- modules/win-dispatcher.js | 95 ++++++++++++++++------------- 3 files changed, 69 insertions(+), 52 deletions(-) diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index ca8f94a..863922d 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2319,10 +2319,10 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('win-certstore', Buffer.from('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', 'base64'));"); // win-bcd is used to configure booting in Safe-Mode. refer to modules/win-bcd.js - duk_peval_string_noresult(ctx, "addCompressedModule('win-bcd', Buffer.from('eJzVV21v2zYQ/m7A/+HmD5XcqkqXFQPmIBi8xG2NJHYXpQ2COAho6SyzkUmXovyywP99R73Y8lvbtWix8oNFkce755473dEHT6uVEzmeKx4ONRy++PUPaAuNEZxINZaKaS5FtVKtnHMfRYwBJCJABXqI0Bwznx75jgPvUcUkDYfuC7CNQC3fqtWPqpW5TGDE5iCkhiRG0sBjGPAIAWc+jjVwAb4cjSPOhI8w5XqYWsl1uNXKTa5B9jUjYUbiY3oblMWAaYMWaAy1HjcODqbTqctSpK5U4UGUycUH5+2TVsdrPSe05sQ7EWEcg8KPCVfkZn8ObExgfNYniBGbglTAQoW0p6UBO1VccxE6EMuBnjKF1UrAY614P9FrPBXQyN+yADHFBNSaHrS9GvzV9NqeU61ct6/edN9dwXXz8rLZuWq3POhewkm3c9q+anc79PYKmp0bOGt3Th1AYoms4GysDHqCyA2DGBBdHuKa+YHM4MRj9PmA++SUCBMWIoRygkqQLzBGNeKxiWJM4IJqJeIjrtMkiLc9IiNPDwx5g0T4RgZC1Gc4j+16tfKYRWHCFJGq4RgeF0fZkj/kUUALOde2lS7cj5X0yQmr7uIM/VeUGXa+5KKY3FpTLgKurDt4BrVez5vHGke/HfZ6fT/AgGtzqubArZW/Ww5YByiSkZk8+olSKPTCuquXUbixDmSi6aEIkGUdrS9LYVsB04xULF20/To8ptmbnnp2DL6rpUdhFaFdP4LFlgFUarcmo2hDfMq4bs24ts3yisGIC4wJ4SZol8yO7LobU9C1bfVUT1iFwvSMGw/5wGjbeC2Um6SwjQVuUjqVqWc7efwKBFo+UMgJQipzy+8Km7A0WIg+4JzksgMlg2WRCYsSXAl9kFykmnJ/StKUO7ek8I6E00P51iJ70G6iiEl6mkOLrVS06ewqGQvxNHrLXE31bx6Pl8edzPB6Sv/AHCYk6ynswArVz5TOZXoDjFDjVoB+MLUZipTIHRT/ZNyW2EVhupbHBnghA/RQTahg23H27LARlj+JnGXi77nC0DSoOZF8Td0tjc8+gTdnrRv3XPosuqDmSkWBCPRuvKvWRa93kvF4IoVWMvJQ01I2p8gQqr6UtNRBPZXqodezKGYlcA6IJIqMumzN2kweHn+Ra1nrCcuptO7D0Uouq1mPlJcDlkS6AZaQAi0oehbJ024mRQrcvxNU84ye8DtSYZIEfKb9IdgfHzDNgvVSRpDcHDQcH+/njG4eX5wT5OxWD9iXBqfLD/nHJ0p9vRmkPNmz9f612Pw26KKkmdI2ffvs+1aeeJhQbZiKZekpFtLao9JfU4dSJL8cm6T/M52XikTDevG/urKkmny6DcoI3UiGdllT/eizJYoPYJUo969RoOL+BVPxkEVE8Fu6CGhUHv8HTTa/hCdPVtGQJgRMUYzraarPfn9prQI4kkFCmOgqLJWmi8pWBu8sio3dy87q2O4Pp7Fn3Snyq1FMnO1y1dheypM1owmjGD/j14ZvZuT3mUYxcfI7TCN/Oqum21hNna/l5Wu4CXNAYQ7oW7gq+Mreuv0P6GtTCanAvFWS/sjoub3OnQM1U0+MpprzKRob5ca7vrshvFYtPyNnRnr33d+Qym3lexXT7tg4ZopPNnuf3n7KV+7yiOl/uGk+k/ru/T1+muEz+tN52NgvYEbRxiyv+ap1f9E9bd13WlfX3cuzvZCK0VfIHj4hU7Ty/wrgmwwvdi8XVia7dO84k7f82Q7W9zC+9KPTvbxonu90YsNQ6TWt24t/ATXtbrU=', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('win-bcd', Buffer.from('eJzNV21v2zYQ/m7A/+HmD5XcqkqXFQPmIBi8xFmNJHYXpQ2COAho6WyzkUmVovyywP99R73Y8lvbtWhRfrCp4/FeHj28ow6eVysnMporPhxpOHz16x/QFhpDOJEqkoppLkW1Uq1ccB9FjAEkIkAFeoTQjJhPf/mKA+9RxaQNh+4rsI1CLV+q1Y+qlblMYMzmIKSGJEaywGMY8BABZz5GGrgAX46jkDPhI0y5HqVechtutXKbW5B9zUiZkXpET4OyGjBtogUaI62jxsHBdDp1WRqpK9XwIMz04oOL9kmr47VeUrRmxzsRYhyDwo8JV5Rmfw4somB81qcQQzYFqYANFdKalibYqeKai6EDsRzoKVNYrQQ81or3E72GUxEa5VtWIKSYgFrTg7ZXg7+aXttzqpWb9vWb7rtruGleXTU71+2WB90rOOl2TtvX7W6Hns6g2bmF83bn1AEklMgLziJloqcQuUEQA4LLQ1xzP5BZOHGEPh9wn5ISw4QNEYZygkpQLhChGvPYvMWYgguqlZCPuU5JEG9nRE6eHxjwBonwjQ7EOoiYilHZfr1aecpeBB8YOvDYpdzhGEQShnV4gpLIso5gkSkvpS+OwXe19AgvMbQNgxZrroaoz3Ee2ys/E6bo/Wmy97Q4ykT+iIcBCfLXalup4CFS0ie8rLqLM/TPiIR2LnJRTO6sKRcBV9Y9vIBar+fNY43j3w57vb4fYMC12VVz4M7Kny0HrAMUydhMnvxEKRR6Yd3Xy1FQUoFMdCnjNbEUthUwzcjEEsSt/ajUFyhOGdetGdcpaCtoQi4wJteb0biE8NiuuzERR9tWT/WEVRhM97jxiA+MtY3Hwrghlm08cHMsUp16tpK/mCICLR+JNhRCqnPH7wufsHRYqD7inPSyDSWHZZUJCxNcKX2QXKSW8nxK2kSKOzJ4T8rppnwpZxytJkqATf85yzY4ZtPeFcsK9ZSoSxKm9je3x8vtTuZ4nas/kJwUyTo3HVhF9VPwtIxbgCFq3EL+B2OWRZEitAO7nwW0EmwoTK/y2AAvZYAeqgmVaTvO/jtsjGUS5/ARMC8VDk1bmhN6N9TTUuD3Kbw5b926F9Jn4SW1VDrGhIx36123Lnu9kwygEym0kqGHmkTZnCCnqPpSkqiDeirVY69n0csoBeekjcGYy2TWJit4/EWpZV1gWObIeg5HK72syjwR4QYsCXUDLCEFWlC0D9Kn1UyLDLj/JKjmGTzD7wgFVdoF+Ez7I7A/PqJplhu1ikJy86Dh+Hg/ZnTf+GJOULJbVXsfDU6XJ/THE6W+Xr5TnOzZesdZbJ4Nuh5pprRNh5p935ISjxI69FOxrCmFIC0qKv01BSaN5JdjQ/o/03npstOwXv0ct4cURHN/W4Lz8DcKVNy/pK0jFhI8b6nxalQe/xcNF1/Ds2crLKUBkCl6Q/WUqLPfX1sr+McySEIkpOhLQ9PFYIt/O0taY7fYWW3bTfvGHrlTsKNRTJztYtPYFuVUy2DCMMbP5LWRmxn5/aFRTJz8ztDI/51VL2ysps7X4vI12AzzgIZ5QN+CVYFX9tTtf0BfmzpG5eGtkvTxoef2OnYO1Ew1MJZqzqdgbMDyrNv19dUN5bVa9xk9M9K75v52Um4K36sUdiOTmCkd2ex9eikpX3HLI6ZvZ9M6JvXd63vyNMNn9KF42NivYEbRhCyvedZ6uOyeth46reub7tX53pCK0VfIHj+hUzTi/xvANzle7BYXXia7bO/Ykzfs2Q7U9yC+zKPTvbpsXuxMYsNR6XGRFuj/AAnWVzE=', 'base64'));"); // win-dispatcher a helper to run JavaScript as a particular user. Refer to modules/win-dispatcher.js - duk_peval_string_noresult(ctx, "addCompressedModule('win-dispatcher', Buffer.from('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', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('win-dispatcher', Buffer.from('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', 'base64'));"); // win-firewall is a helper to Modify Windows Firewall Filters. Refer to modules/win-firewall.js duk_peval_string_noresult(ctx, "addCompressedModule('win-firewall', Buffer.from('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', 'base64'));"); diff --git a/modules/win-bcd.js b/modules/win-bcd.js index 03c00ce..5014cb1 100644 --- a/modules/win-bcd.js +++ b/modules/win-bcd.js @@ -14,12 +14,18 @@ See the License for the specific language governing permissions and limitations under the License. */ +function stdparser(c) +{ + if (this.str = null) { this.str = ''; } + this.str += c.toString(); +} + function getKeys() { var ret = {}; child = require('child_process').execFile(process.env['windir'] + "\\System32\\bcdedit.exe", ['bcdedit', '/enum', '{current}']); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.stderr.on('data', function () { }); + child.stdout.str = ''; child.stdout.on('data', stdparser); + child.stderr.on('data', stdparser); child.waitExit(); var lines = child.stdout.str.trim().split('\r\n'); @@ -41,15 +47,15 @@ function getKey(key) function setKey(key, value) { var child = require('child_process').execFile(process.env['windir'] + "\\System32\\bcdedit.exe", ['bcdedit', '/set', '{current}', key, value]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.stderr.on('data', function () { }); + child.stdout.str = ''; child.stdout.on('data', stdparser); + child.stderr.on('data', stdparser); child.waitExit(); } function deleteKey(key) { var child = require('child_process').execFile(process.env['windir'] + "\\System32\\bcdedit.exe", ['bcdedit', '/deletevalue', '{current}', key]); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.stderr.on('data', function () { }); + child.stdout.str = ''; child.stdout.on('data', stdparser); + child.stderr.on('data', stdparser); child.waitExit(); } @@ -78,8 +84,8 @@ function disableSafeModeService(serviceName) function restart(delay) { var child = require('child_process').execFile(process.env['windir'] + "\\System32\\shutdown.exe", ['shutdown', '/r', '/t', delay!=null?delay.toString():'0']); - child.stdout.str = ''; child.stdout.on('data', function (c) { this.str += c.toString(); }); - child.stderr.on('data', function (c) { console.log(c.toString());}); + child.stdout.str = ''; child.stdout.on('data', stdparser); + child.stderr.on('data', stdparser); child.waitExit(); } diff --git a/modules/win-dispatcher.js b/modules/win-dispatcher.js index 02d1e04..29c3549 100644 --- a/modules/win-dispatcher.js +++ b/modules/win-dispatcher.js @@ -14,19 +14,63 @@ See the License for the specific language governing permissions and limitations under the License. */ +function emptyhandler() +{ +} +function stdparser(c) +{ + this.str += c.toString(); +} +function ConnectionHandler2(s) +{ + if (this.parent.isAlive()) + { + this.parent.object._control = s; + this.parent.object._control._parent = this; + this.close(); + this.parent.object.invoke = function (method, args) + { + var d, h = Buffer.alloc(4); + d = Buffer.from(JSON.stringify({ command: 'invoke', value: { method: method, args: args } })); + h.writeUInt32LE(d.length + 4); + this._control.write(h); + this._control.write(d); + }; + } +} +function ConnectionHandler1(s) +{ + this.parent.object._client = s; + this.parent.object._client._parent = this; + this.close(); + var d, h = Buffer.alloc(4); + s.descriptorMetadata = 'win-dispatcher, ' + this.parent.object.options.launch.module + '.' + this.parent.object.options.launch.method + '()'; + for (var m in this.parent.object.options.modules) + { + d = Buffer.from(JSON.stringify({ command: 'addModule', value: { name: this.parent.object.options.modules[m].name, js: this.parent.object.options.modules[m].script } })); + h.writeUInt32LE(d.length + 4); + s.write(h); + s.write(d); + } + d = Buffer.from(JSON.stringify({ command: 'launch', value: { split: this.parent.object.options.launch.split ? true : false, module: this.parent.object.options.launch.module, method: this.parent.object.options.launch.method, args: this.parent.object.options.launch.args } })); + h.writeUInt32LE(d.length + 4); + s.write(h); + s.write(d); + this.parent.object.emit('connection', s); +} function dispatch(options) { if (!options || !options.modules || !options.launch || !options.launch.module || !options.launch.method || !options.launch.args) { throw ('Invalid Parameters'); } var ipcInteger - var ret = { options: options }; + var ret = { _ObjectID: 'dispatch', options: options }; require('events').EventEmitter.call(ret, true).createEvent('connection'); - ret._ipc = require('net').createServer(); ret._ipc.parent = ret; - ret._ipc2 = require('net').createServer(); ret._ipc2.parent = ret; - ret._ipc.on('close', function () { }); - ret._ipc2.on('close', function () { }); + ret._ipc = require('net').createServer(); ret._ipc.parent = WeakReference(ret); + ret._ipc2 = require('net').createServer(); ret._ipc2.parent = WeakReference(ret); + ret._ipc.on('close', emptyhandler); + ret._ipc2.on('close', emptyhandler); while (true) { @@ -44,41 +88,8 @@ function dispatch(options) } } var str = Buffer.from("require('win-console').hide();require('win-dispatcher').connect('" + ipcInteger + "');").toString('base64'); - ret._ipc2.once('connection', function onConnect(s) - { - this.parent._control = s; - this.parent._control._parent = this; - this.close(); - this.parent.invoke = function (method, args) - { - var d, h = Buffer.alloc(4); - d = Buffer.from(JSON.stringify({ command: 'invoke', value: { method: method, args: args } })); - h.writeUInt32LE(d.length + 4); - this._control.write(h); - this._control.write(d); - }; - }); - ret._ipc.once('connection', function onConnect(s) - { - this.parent._client = s; - this.parent._client._parent = this; - this.close(); - var d, h = Buffer.alloc(4); - s.descriptorMetadata = 'win-dispatcher, ' + this.parent.options.launch.module + '.' + this.parent.options.launch.method + '()'; - - for (var m in this.parent.options.modules) - { - d = Buffer.from(JSON.stringify({ command: 'addModule', value: { name: this.parent.options.modules[m].name, js: this.parent.options.modules[m].script } })); - h.writeUInt32LE(d.length + 4); - s.write(h); - s.write(d); - } - d = Buffer.from(JSON.stringify({ command: 'launch', value: { split: this.parent.options.launch.split?true:false, module: this.parent.options.launch.module, method: this.parent.options.launch.method, args: this.parent.options.launch.args } })); - h.writeUInt32LE(d.length + 4); - s.write(h); - s.write(d); - this.parent.emit('connection', s); - }); + ret._ipc2.once('connection', ConnectionHandler2); + ret._ipc.once('connection', ConnectionHandler1); var taskoptions = { env: { _target: process.execPath, _args: '-b64exec ' + str, _user: '"' + options.user + '"' } }; for (var c1e in process.env) @@ -87,8 +98,8 @@ function dispatch(options) } var child = require('child_process').execFile(process.env['windir'] + '\\System32\\WindowsPowerShell\\v1.0\\powershell.exe', ['powershell', '-noprofile', '-nologo', '-command', '-'], taskoptions); - child.stderr.on('data', function (c) { }); - child.stdout.on('data', function (c) { }); + child.stderr.on('data', stdparser); + child.stdout.on('data', stdparser); child.stdin.write('SCHTASKS /CREATE /F /TN MeshUserTask /SC ONCE /ST 00:00 '); if (options.user) {