Updated mesh agent

Ylian Saint-Hilaire committed Apr 20, 2018 at 16:05 UTC 61e383795c3e99e2969f67c2909aaad8a5332777
22 files changed +24 -13
MeshCentralServer.njsproj
+4
@@ -30,7 +30,11 @@
30 <Compile Include="agents\modules_meshcmd\amt-wsman.js" />
31 <Compile Include="agents\modules_meshcmd\amt-xml.js" />
32 <Compile Include="agents\modules_meshcmd\amt.js" />
33 + <Compile Include="agents\modules_meshcmd\process-manager.js" />
34 + <Compile Include="agents\modules_meshcmd\serviceHost.js" />
35 + <Compile Include="agents\modules_meshcmd\serviceManager.js" />
36 <Compile Include="agents\modules_meshcmd\smbios.js" />
37 + <Compile Include="agents\modules_meshcmd\user-sessions.js" />
38 <Compile Include="agents\modules_meshcore\amt-lme.js" />
39 <Compile Include="agents\modules_meshcore\amt-mei.js" />
40 <Compile Include="agents\modules_meshcore\amt-scanner.js" />
agents/MeshCmd-signed.exe
Binary files a/agents/MeshCmd-signed.exe and b/agents/MeshCmd-signed.exe differ
agents/MeshCmd64-signed.exe
Binary files a/agents/MeshCmd64-signed.exe and b/agents/MeshCmd64-signed.exe differ
agents/MeshService-signed.exe
Binary files a/agents/MeshService-signed.exe and b/agents/MeshService-signed.exe differ
agents/MeshService.exe
Binary files a/agents/MeshService.exe and b/agents/MeshService.exe differ
agents/MeshService64-signed.exe
Binary files a/agents/MeshService64-signed.exe and b/agents/MeshService64-signed.exe differ
agents/MeshService64.exe
Binary files a/agents/MeshService64.exe and b/agents/MeshService64.exe differ
agents/meshagent_arm
Binary files a/agents/meshagent_arm and b/agents/meshagent_arm differ
agents/meshagent_pi
Binary files a/agents/meshagent_pi and b/agents/meshagent_pi differ
agents/meshagent_pogo
Binary files a/agents/meshagent_pogo and b/agents/meshagent_pogo differ
agents/meshagent_poky
Binary files a/agents/meshagent_poky and b/agents/meshagent_poky differ
agents/meshagent_poky64
Binary files a/agents/meshagent_poky64 and b/agents/meshagent_poky64 differ
agents/meshagent_x86
Binary files a/agents/meshagent_x86 and b/agents/meshagent_x86 differ
agents/meshagent_x86-64
Binary files a/agents/meshagent_x86-64 and b/agents/meshagent_x86-64 differ
agents/meshagent_x86-64_nokvm
Binary files a/agents/meshagent_x86-64_nokvm and b/agents/meshagent_x86-64_nokvm differ
agents/meshagent_x86_nokvm
Binary files a/agents/meshagent_x86_nokvm and b/agents/meshagent_x86_nokvm differ
agents/meshcore.js
+9 -3
@@ -372,7 +372,7 @@ function createMeshCore(agent) {
372 break;
373 }
374 case 'pskill': {
375 - sendConsoleText(JSON.stringify(data));
375 + //sendConsoleText(JSON.stringify(data));
376 try { process.kill(data.value); } catch (e) { sendConsoleText(JSON.stringify(e)); }
377 break;
378 }
@@ -856,8 +856,14 @@ function createMeshCore(agent) {
856 break;
857 }
858 case 'toast': {
859 - require('toaster').Toast('MeshCentral', args['_'][0]);
860 - response = 'ok';
859 + if (process.platform == 'win32') {
860 + if (args['_'].length < 1) { response = 'Proper usage: toast "message"'; } else {
861 + require('toaster').Toast('MeshCentral', args['_'][0]);
862 + response = 'ok';
863 + }
864 + } else {
865 + response = 'Only supported on Windows.';
866 + }
867 break;
868 }
869 case 'setdebug': {
agents/modules_meshcmd/amt-lme.js
+1 -1
@@ -266,7 +266,7 @@ function lme_heci(options) {
266 this.sockets[rChannelId].bufferedStream.emit('readable');
267 }
268 } else {
269 - console.log('Unknown Recipient ID/' + rChannelId + ' for APF_CHANNEL_WINDOW_ADJUST');
269 + //console.log('Unknown Recipient ID/' + rChannelId + ' for APF_CHANNEL_WINDOW_ADJUST');
270 }
271 break;
272 case APF_CHANNEL_DATA:
agents/modules_meshcmd/process-manager.js
+4 -4
@@ -38,13 +38,13 @@ function processManager() {
38 default:
39 throw ('Enumerating processes on ' + process.platform + ' not supported');
40 case 'win32':
41 - var retVal = [];
41 + var retVal = {};
42 var h = this._kernel32.CreateToolhelp32Snapshot(2, 0);
43 var info = GM.CreateVariable(304);
44 info.toBuffer().writeUInt32LE(304, 0);
45 var nextProcess = this._kernel32.Process32First(h, info);
46 while (nextProcess.Val) {
47 - retVal.push({ pid: info.Deref(8, 4).toBuffer().readUInt32LE(0), cmd: info.Deref(GM.PointerSize == 4 ? 36 : 44, 260).String });
47 + retVal[info.Deref(8, 4).toBuffer().readUInt32LE(0)] = { cmd: info.Deref(GM.PointerSize == 4 ? 36 : 44, 260).String };
48 nextProcess = this._kernel32.Process32Next(h, info);
49 }
50 if (callback) { callback.apply(this, [retVal]); }
@@ -60,7 +60,7 @@ function processManager() {
60 for (var i = 1; i < arguments.length; ++i) { p.args.push(arguments[i]); }
61 p.on('exit', function onGetProcesses() {
62 delete this.Parent._psp[this.pid];
63 - var retVal = [], lines = this.ps.split('\x0D\x0A'), key = {}, keyi = 0;
63 + var retVal = {}, lines = this.ps.split('\x0D\x0A'), key = {}, keyi = 0;
64 for (var i in lines) {
65 var tokens = lines[i].split(' ');
66 var tokenList = [];
@@ -69,7 +69,7 @@ function processManager() {
69 if (i > 0 && tokens[x]) { tokenList.push(tokens[x]); }
70 }
71 if ((i > 0) && (tokenList[key.PID])) {
72 - retVal.push({ pid: tokenList[key.PID], user: tokenList[key.USER], cmd: tokenList[key.COMMAND] });
72 + retVal[tokenList[key.PID]] = { user: tokenList[key.USER], cmd: tokenList[key.COMMAND] };
73 }
74 }
75 if (this.callback) {
agents/modules_meshcore/process-manager.js
+4 -4
@@ -38,13 +38,13 @@ function processManager() {
38 default:
39 throw ('Enumerating processes on ' + process.platform + ' not supported');
40 case 'win32':
41 - var retVal = [];
41 + var retVal = {};
42 var h = this._kernel32.CreateToolhelp32Snapshot(2, 0);
43 var info = GM.CreateVariable(304);
44 info.toBuffer().writeUInt32LE(304, 0);
45 var nextProcess = this._kernel32.Process32First(h, info);
46 while (nextProcess.Val) {
47 - retVal.push({ pid: info.Deref(8, 4).toBuffer().readUInt32LE(0), cmd: info.Deref(GM.PointerSize == 4 ? 36 : 44, 260).String });
47 + retVal[info.Deref(8, 4).toBuffer().readUInt32LE(0)] = { cmd: info.Deref(GM.PointerSize == 4 ? 36 : 44, 260).String };
48 nextProcess = this._kernel32.Process32Next(h, info);
49 }
50 if (callback) { callback.apply(this, [retVal]); }
@@ -60,7 +60,7 @@ function processManager() {
60 for (var i = 1; i < arguments.length; ++i) { p.args.push(arguments[i]); }
61 p.on('exit', function onGetProcesses() {
62 delete this.Parent._psp[this.pid];
63 - var retVal = [], lines = this.ps.split('\x0D\x0A'), key = {}, keyi = 0;
63 + var retVal = {}, lines = this.ps.split('\x0D\x0A'), key = {}, keyi = 0;
64 for (var i in lines) {
65 var tokens = lines[i].split(' ');
66 var tokenList = [];
@@ -69,7 +69,7 @@ function processManager() {
69 if (i > 0 && tokens[x]) { tokenList.push(tokens[x]); }
70 }
71 if ((i > 0) && (tokenList[key.PID])) {
72 - retVal.push({ pid: tokenList[key.PID], user: tokenList[key.USER], cmd: tokenList[key.COMMAND] });
72 + retVal[tokenList[key.PID]] = { user: tokenList[key.USER], cmd: tokenList[key.COMMAND] };
73 }
74 }
75 if (this.callback) {
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "meshcentral",
3 - "version": "0.1.6-v",
3 + "version": "0.1.6-w",
4 "keywords": [
5 "Remote Management",
6 "Intel AMT",
views/default.handlebars
+1
@@ -3524,6 +3524,7 @@
3524 if (Q('DeskTools').nodeid != message.nodeid) return;
3525 var p = [], processes = null;
3526 try { processes = JSON.parse(message.value); } catch (e) { }
3527 + console.log(processes);
3528 if (processes != null) {
3529 for (var pid in processes) { p.push( { p:parseInt(pid), c:processes[pid].cmd, d:processes[pid].cmd.toLowerCase(), u: processes[pid].user } ); }
3530 if (deskTools.sort == 0) { p.sort(sortProcessPid); } else if (deskTools.sort == 1) { p.sort(sortProcessName); }