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); }