fix win arm64 agent hashes
Signed-off-by: si458 <simonsmith5521@gmail.com>
si458 committed
Feb 15, 2026 at 00:25 UTC
1c37cf6b17cd8f940c4732e70afc8868513f422c
3 files changed
+41
-34
agents/hashagents.js
+8
-7
@@ -24,21 +24,22 @@ var agents = {
24
'meshagent_alpine-x86-64': 33,
25
'meshagent_mipsel24kc': 40,
26
'meshagent_aarch64-cortex-a53': 41,
27
+ 'MeshServiceARM64.exe': 43,
28
// 'meshagent_armvirt32': 44,
29
'meshagent_riscv64': 45,
30
'meshagent_osx-universal-64': 10005
31
}
32
33
+function getAgentInfo(filename, id) {
34
+ if (fs.existsSync(filename) != true) return null;
35
+ var stats = fs.statSync(filename);
36
+ return { filename: filename, hash: getSHA384FileHash(filename).toString('hex'), size: stats.size, mtime: stats.mtime };
37
+}
38
+
39
var agentinfo = {};
40
for (var i in agents) {
41
var info = getAgentInfo(i, agents[i]);
42
if (info != null) { agentinfo[agents[i]] = info; }
43
}
44
console.log(JSON.stringify(agentinfo, null, 2));
38
-process.exit();
39
-
40
-function getAgentInfo(filename, id) {
41
- if (fs.existsSync(filename) != true) return null;
42
- var stats = fs.statSync(filename);
43
- return { filename: filename, hash: getSHA384FileHash(filename).toString('hex'), size: stats.size, mtime: stats.mtime };
44
-}
45
+process.exit();
\ No newline at end of file
agents/hashagents.json
+29
-23
@@ -3,138 +3,144 @@
3
"filename": "MeshService.exe",
4
"hash": "A28899C93AE7273C49433952149AD34ADB5A017A150A27243B69402D94BF4AAC32AAE6774C40EC8DE1B4CB33A82DC1C7",
5
"size": 3811840,
6
- "mtime": "2025-03-07T22:43:04Z"
6
+ "mtime": "2025-03-07T17:05:07Z"
7
},
8
"4": {
9
"filename": "MeshService64.exe",
10
"hash": "168572E0999089DE09B751255C908A4C2B80056D6DFAFFDB8B76F4A81847C8A4E162D6C303C14A837BBE8E6802AC6992",
11
"size": 3439616,
12
- "mtime": "2025-03-07T22:43:04Z"
12
+ "mtime": "2025-03-07T17:05:07Z"
13
},
14
"5": {
15
"filename": "meshagent_x86",
16
"hash": "EB1F41A192A43469823399E9880EF7435259A12E2687CF488B3CB17D86BA8C29ED20DD863C86D0D5CA1D40634DEB4134",
17
"size": 3641436,
18
- "mtime": "2023-10-13T16:35:50Z"
18
+ "mtime": "2022-11-22T18:15:29Z"
19
},
20
"6": {
21
"filename": "meshagent_x86-64",
22
"hash": "434BF98C5D4F394CB5275C73FF96CB3283DA1300577784F51AF2273DE3158074E78A351C48A9CDEA3E7DC6DECD106128",
23
"size": 3749328,
24
- "mtime": "2024-08-06T15:30:40Z"
24
+ "mtime": "2022-11-22T18:15:29Z"
25
},
26
"7": {
27
"filename": "meshagent_mips",
28
"hash": "97F057410D979E5D290EC253B1340CDB4C1B55AFB2F766AC1CFACA368355E5D7CB86E51F44B34798F0FD1C691089859F",
29
"size": 4555960,
30
- "mtime": "2023-09-19T15:16:30Z"
30
+ "mtime": "2022-11-22T18:15:29Z"
31
},
32
"9": {
33
"filename": "meshagent_arm",
34
"hash": "963802249E86D8D0B08D62D688E67704F519CB1D6EA03A755CF3A277D30A1579E92E863F5E31B40CBBCF8C492D3B93E8",
35
"size": 3156256,
36
- "mtime": "2023-09-19T15:16:29Z"
36
+ "mtime": "2022-11-22T18:15:29Z"
37
},
38
"13": {
39
"filename": "meshagent_pogo",
40
"hash": "D07AD09AEBA3528785D1BE63D89785C1D2078EDA4F9E1ADE8B695A094DA4F3DB63BB16895E4BDEE733F54EF8C2F74265",
41
"size": 3164464,
42
- "mtime": "2023-09-19T15:16:30Z"
42
+ "mtime": "2022-11-22T18:15:29Z"
43
},
44
"15": {
45
"filename": "meshagent_poky",
46
"hash": "515F9A5FFE2C229E24DB61770EEC1265F0A3AFC09C4321F1CA8D6C1A4C421FD223BDE85D94BC5B9E349EC7132CD9A7E5",
47
"size": 3804792,
48
- "mtime": "2023-09-19T15:16:30Z"
48
+ "mtime": "2022-11-22T18:15:29Z"
49
},
50
"16": {
51
"filename": "meshagent_osx-x86-64",
52
"hash": "F7A3EBEC3D855EBFB2C72271C17196C7692EB2685DCBA70B56B63C80D6CF0DAA7DF00657BB4A12F4C0D92281B1BB47FE",
53
"size": 4670736,
54
- "mtime": "2025-03-18T17:57:52Z"
54
+ "mtime": "2022-08-29T20:54:17Z"
55
},
56
"18": {
57
"filename": "meshagent_poky64",
58
"hash": "F889214564DBA1625DF17A7C3E14458D55350399112BAD429F8525B885EF2098EC527C3A83C3EBEF9BFB90A74AF4CD87",
59
"size": 3503608,
60
- "mtime": "2023-09-19T15:16:30Z"
60
+ "mtime": "2022-11-22T18:15:29Z"
61
},
62
"19": {
63
"filename": "meshagent_x86_nokvm",
64
"hash": "2558D5FB2B92AF81EE914F83BB0EC528C9D10BFAB67F9F7C27BFD6AB8516B93DDCF9F824BF0F307F47254C811D707434",
65
"size": 3360704,
66
- "mtime": "2023-09-19T15:16:30Z"
66
+ "mtime": "2022-11-22T18:15:29Z"
67
},
68
"20": {
69
"filename": "meshagent_x86-64_nokvm",
70
"hash": "A91280CAB549B1F133408F283E850F35B529218C0C317007D60A170E6113DE262521B3DA0D1ECEAC0E945B3ED46D23F7",
71
"size": 3454384,
72
- "mtime": "2023-09-19T15:16:30Z"
72
+ "mtime": "2022-11-22T18:15:29Z"
73
},
74
"24": {
75
"filename": "meshagent_arm-linaro",
76
"hash": "47E5DDAD71536DBB7752C665A4FE3BDD98D2AB888DB7536FB58E2EC7F0560C750AFE2D2D7F35A00457677661312380E6",
77
"size": 2215252,
78
- "mtime": "2023-09-19T15:16:29Z"
78
+ "mtime": "2022-11-22T18:15:29Z"
79
},
80
"25": {
81
"filename": "meshagent_armhf",
82
"hash": "65F6FE3B530FDBC3C1E7B2577B081FEF5742265CCCFDE27AB015996D3767F153CF3B4B022932C156754E09CDA2EE4874",
83
"size": 3191132,
84
- "mtime": "2023-09-19T15:16:29Z"
84
+ "mtime": "2022-11-22T18:15:29Z"
85
},
86
"27": {
87
"filename": "meshagent_armhf2",
88
"hash": "0AE840520D3B677B9767EA097F3AA5A1E24212529E688200F43935DB1541AB9FB441EC2C7BA8002D45299B04695FD037",
89
"size": 2837724,
90
- "mtime": "2023-09-19T15:16:29Z"
90
+ "mtime": "2022-03-24T21:15:48Z"
91
},
92
"28": {
93
"filename": "meshagent_mips24kc",
94
"hash": "3AD0A21E1FDD44E1869BFD3E3698D67713445C7A21BEE37AF41E810E6B6F1CE8FE369140AE7BAD31689A5F759CF7BCC6",
95
"size": 4193384,
96
- "mtime": "2023-09-19T15:16:30Z"
96
+ "mtime": "2022-11-22T18:15:29Z"
97
},
98
"29": {
99
"filename": "meshagent_osx-arm-64",
100
"hash": "CFE022146F2ED61E68F907E57E3704CC7F409D7F2B4D87E64ED6D83C53F41777BCDDCCF42DF8B8BB25CCEC9A93D799C7",
101
"size": 3945576,
102
- "mtime": "2025-03-12T11:13:54Z"
102
+ "mtime": "2022-08-29T20:54:17Z"
103
},
104
"30": {
105
"filename": "meshagent_freebsd_x86-64",
106
"hash": "5C2CDDA2E7AB5068D990FBC725D8D5E3EA2724A0E001C226C0C7BB9F3A46492880BF260B5DD9E733F87EB68BA7494BD6",
107
"size": 4673560,
108
- "mtime": "2023-09-19T15:16:29Z"
108
+ "mtime": "2022-08-29T20:54:17Z"
109
},
110
"32": {
111
"filename": "meshagent_aarch64",
112
"hash": "56AD2FAFBC15BAC635C526C6F106DD0213C0B222265685F00CDD56AD8C3DFE7DE6C4D8F52EA9CA183D50BC8D8C198477",
113
"size": 3256688,
114
- "mtime": "2023-09-19T15:16:29Z"
114
+ "mtime": "2022-11-22T18:15:29Z"
115
},
116
"40": {
117
"filename": "meshagent_mipsel24kc",
118
"hash": "E6A3CDBFFD233BE1B24E81197F41DB24EFA1708B5BD18B2D7DFEBFD89FAF6A994B5D4A3048D67BBBAB14A77AD7088AE6",
119
"size": 4189672,
120
- "mtime": "2023-09-19T15:16:30Z"
120
+ "mtime": "2022-11-22T18:15:29Z"
121
},
122
"41": {
123
"filename": "meshagent_aarch64-cortex-a53",
124
"hash": "CEFD8AAB52CE01939324E999E1EB541A262E0D4F1C3591F0A8355EAD5D2C87B43B3FB05A1DCD04012CDD4B559589CBAB",
125
"size": 3084616,
126
- "mtime": "2023-09-19T15:16:29Z"
126
+ "mtime": "2022-11-22T18:15:29Z"
127
+ },
128
+ "43": {
129
+ "filename": "MeshServiceARM64.exe",
130
+ "hash": "5D49143B18A7AF6B09378D57781B9A0910EDD394A17CC0E9D5518DF34E1442E306E0AF855073009885C4D0D45C431D61",
131
+ "size": 3634688,
132
+ "mtime": "2025-07-11T21:20:17Z"
133
},
134
"45": {
135
"filename": "meshagent_riscv64",
136
"hash": "CFB8C78CB128B5F8FE367DE40ACD1D34BB9E261B8B37AF867F0B50130F847831B8C0DB4C9DAFC75F5DD80AFECCE74D30",
137
"size": 3597928,
132
- "mtime": "2025-03-18T11:06:16Z"
138
+ "mtime": "2025-03-18T18:11:04Z"
139
},
140
"10005": {
141
"filename": "meshagent_osx-universal-64",
142
"hash": "D320CA61D59FD8D76CF681CFE78A94CE37C47DBCAA8B29DF483F42C000EA9B655B5E5909A2AD6699D45D2D7691FF4964",
143
"size": 8647784,
138
- "mtime": "2024-03-15T14:55:06Z"
144
+ "mtime": "2022-08-29T20:54:17Z"
145
}
146
}
meshcentral.js
+4
-4
@@ -3618,9 +3618,9 @@ function CreateMeshCentralServer(config, args) {
3618
try { objx.meshAgentBinaries[archid].pe = obj.exeHandler.parseWindowsExecutable(agentpath); } catch (ex) { }
3619
}
3620
3621
- // If agents must be stored in RAM or if this is a Windows 32/64 agent, load the agent in RAM.
3622
- if ((obj.args.agentsinram === true) || (((archid == 3) || (archid == 4)) && (obj.args.agentsinram !== false))) {
3623
- if ((archid == 3) || (archid == 4)) {
3621
+ // If agents must be stored in RAM or if this is a Windows 32/64/ARM64 agent, load the agent in RAM.
3622
+ if ((obj.args.agentsinram === true) || (((archid == 3) || (archid == 4) || (archid == 43)) && (obj.args.agentsinram !== false))) {
3623
+ if ((archid == 3) || (archid == 4) || (archid == 43)) {
3624
// Load the agent with a random msh added to it.
3625
const outStream = new require('stream').Duplex();
3626
outStream.meshAgentBinary = objx.meshAgentBinaries[archid];
@@ -3734,7 +3734,7 @@ function CreateMeshCentralServer(config, args) {
3734
obj.exeHandler.hashExecutableFile(options);
3735
3736
// If we are not loading Windows binaries to RAM, compute the RAW file hash of the signed binaries here.
3737
- if ((obj.args.agentsinram === false) && ((archid == 3) || (archid == 4))) {
3737
+ if ((obj.args.agentsinram === false) && ((archid == 3) || (archid == 4) || (archid == 43))) {
3738
const hash = obj.crypto.createHash('sha384').update(obj.fs.readFileSync(agentpath));
3739
objx.meshAgentBinaries[archid].fileHash = hash.digest('binary');
3740
objx.meshAgentBinaries[archid].fileHashHex = Buffer.from(objx.meshAgentBinaries[archid].fileHash, 'binary').toString('hex');