@@ -22,7 +22,8 @@ enum class MessageType
22
22
EnumerateRemoteSectionResponse = 9 ,
23
23
EnumerateRemoteModuleResponse = 10 ,
24
24
EnumerateProcessHandlesRequest = 11 ,
25
- EnumerateProcessHandlesResponse = 12
25
+ EnumerateProcessHandlesResponse = 12 ,
26
+ ClosePipeRequest = 13
26
27
};
27
28
// ---------------------------------------------------------------------------
28
29
class IMessage
@@ -60,11 +61,13 @@ class StatusResponse : public IMessage
60
61
61
62
void ReadFrom (BinaryReader& reader) override
62
63
{
64
+ remoteId = reader.ReadIntPtr ();
63
65
success = reader.ReadBoolean ();
64
66
}
65
67
66
68
void WriteTo (BinaryWriter& writer) const override
67
69
{
70
+ writer.Write (remoteId);
68
71
writer.Write (success);
69
72
}
70
73
@@ -90,12 +93,12 @@ class OpenProcessRequest : public IMessage
90
93
91
94
void ReadFrom (BinaryReader& reader) override
92
95
{
93
-
96
+ remoteId = reader. ReadIntPtr ();
94
97
}
95
98
96
99
void WriteTo (BinaryWriter& writer) const override
97
100
{
98
-
101
+ writer. Write (remoteId);
99
102
}
100
103
101
104
bool Handle (MessageClient& client) override ;
@@ -121,12 +124,12 @@ class CloseProcessRequest : public IMessage
121
124
122
125
void ReadFrom (BinaryReader& reader) override
123
126
{
124
-
127
+ remoteId = reader. ReadIntPtr ();
125
128
}
126
129
127
130
void WriteTo (BinaryWriter& writer) const override
128
131
{
129
-
132
+ writer. Write (remoteId);
130
133
}
131
134
132
135
bool Handle (MessageClient& client) override ;
@@ -152,12 +155,12 @@ class IsValidRequest : public IMessage
152
155
153
156
void ReadFrom (BinaryReader& reader) override
154
157
{
155
-
158
+ remoteId = reader. ReadIntPtr ();
156
159
}
157
160
158
161
void WriteTo (BinaryWriter& writer) const override
159
162
{
160
-
163
+ writer. Write (remoteId);
161
164
}
162
165
163
166
bool Handle (MessageClient& client) override ;
@@ -187,12 +190,14 @@ class ReadMemoryRequest : public IMessage
187
190
188
191
void ReadFrom (BinaryReader& reader) override
189
192
{
193
+ remoteId = reader.ReadIntPtr ();
190
194
address = reader.ReadIntPtr ();
191
195
size = reader.ReadInt32 ();
192
196
}
193
197
194
198
void WriteTo (BinaryWriter& writer) const override
195
199
{
200
+ writer.Write (remoteId);
196
201
writer.Write (address);
197
202
writer.Write (size);
198
203
}
@@ -224,12 +229,14 @@ class ReadMemoryResponse : public IMessage
224
229
225
230
void ReadFrom (BinaryReader& reader) override
226
231
{
232
+ remoteId = reader.ReadIntPtr ();
227
233
const auto size = reader.ReadInt32 ();
228
234
data = reader.ReadBytes (size);
229
235
}
230
236
231
237
void WriteTo (BinaryWriter& writer) const override
232
238
{
239
+ writer.Write (remoteId);
233
240
writer.Write (static_cast <int >(data.size ()));
234
241
writer.Write (data.data (), 0 , static_cast <int >(data.size ()));
235
242
}
@@ -260,13 +267,15 @@ class WriteMemoryRequest : public IMessage
260
267
261
268
void ReadFrom (BinaryReader& reader) override
262
269
{
270
+ remoteId = reader.ReadIntPtr ();
263
271
address = reader.ReadIntPtr ();
264
272
const auto size = reader.ReadInt32 ();
265
273
data = reader.ReadBytes (size);
266
274
}
267
275
268
276
void WriteTo (BinaryWriter& writer) const override
269
277
{
278
+ writer.Write (remoteId);
270
279
writer.Write (address);
271
280
writer.Write (static_cast <int >(data.size ()));
272
281
writer.Write (data.data (), 0 , static_cast <int >(data.size ()));
@@ -297,12 +306,12 @@ class EnumerateRemoteSectionsAndModulesRequest : public IMessage
297
306
298
307
void ReadFrom (BinaryReader& reader) override
299
308
{
300
-
309
+ remoteId = reader. ReadIntPtr ();
301
310
}
302
311
303
312
void WriteTo (BinaryWriter& writer) const override
304
313
{
305
-
314
+ writer. Write (remoteId);
306
315
}
307
316
308
317
bool Handle (MessageClient& client) override ;
@@ -342,6 +351,7 @@ class EnumerateRemoteSectionResponse : public IMessage
342
351
343
352
void ReadFrom (BinaryReader& reader) override
344
353
{
354
+ remoteId = reader.ReadIntPtr ();
345
355
baseAddress = reader.ReadIntPtr ();
346
356
size = reader.ReadIntPtr ();
347
357
type = static_cast <SectionType>(reader.ReadInt32 ());
@@ -353,6 +363,7 @@ class EnumerateRemoteSectionResponse : public IMessage
353
363
354
364
void WriteTo (BinaryWriter& writer) const override
355
365
{
366
+ writer.Write (remoteId);
356
367
writer.Write (baseAddress);
357
368
writer.Write (size);
358
369
writer.Write (static_cast <int >(type));
@@ -396,13 +407,15 @@ class EnumerateRemoteModuleResponse : public IMessage
396
407
397
408
void ReadFrom (BinaryReader& reader) override
398
409
{
410
+ remoteId = reader.ReadIntPtr ();
399
411
baseAddress = reader.ReadIntPtr ();
400
412
size = reader.ReadIntPtr ();
401
413
modulePath = reader.ReadString ();
402
414
}
403
415
404
416
void WriteTo (BinaryWriter& writer) const override
405
417
{
418
+ writer.Write (remoteId);
406
419
writer.Write (baseAddress);
407
420
writer.Write (size);
408
421
writer.Write (modulePath);
@@ -436,7 +449,7 @@ class EnumerateProcessHandlesRequest : public IMessage
436
449
class EnumerateProcessHandlesResponse : public IMessage
437
450
{
438
451
public:
439
- MessageType GetMessageType () const override { return MessageType::EnumerateProcessHandlesRequest ; }
452
+ MessageType GetMessageType () const override { return MessageType::EnumerateProcessHandlesResponse ; }
440
453
441
454
RC_Pointer GetRemoteId () const { return remoteId; }
442
455
const std::wstring& GetPath () const { return path; }
@@ -467,3 +480,22 @@ class EnumerateProcessHandlesResponse : public IMessage
467
480
std::wstring path;
468
481
};
469
482
// ---------------------------------------------------------------------------
483
+ class ClosePipeRequest : public IMessage
484
+ {
485
+ public:
486
+ MessageType GetMessageType () const override { return MessageType::ClosePipeRequest; }
487
+
488
+ void ReadFrom (BinaryReader& reader) override
489
+ {
490
+
491
+ }
492
+
493
+ void WriteTo (BinaryWriter& writer) const override
494
+ {
495
+
496
+ }
497
+
498
+ bool Handle (MessageClient& client) override { return false ; }
499
+ };
500
+ // ---------------------------------------------------------------------------
501
+ //
0 commit comments