From e1ffe04db570e63bd3c855fc4361ed8de6b5f435 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 13 May 2025 23:48:47 +0200 Subject: feat(LibDebugger): expand KDBG's protocol, by reworking the packet structure. Signed-off-by: Amlal El Mahrouss --- dev/LibDebugger/NeKernelContract.h | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'dev/LibDebugger') diff --git a/dev/LibDebugger/NeKernelContract.h b/dev/LibDebugger/NeKernelContract.h index 8e54ab2..e645db8 100644 --- a/dev/LibDebugger/NeKernelContract.h +++ b/dev/LibDebugger/NeKernelContract.h @@ -29,30 +29,35 @@ namespace LibDebugger::NeKernel { class NeKernelContract; namespace Detail { - class NeKernelPortHeader; + class NeKernelDebugHeader; inline constexpr size_t kDebugTypeLen = 256U; typedef char rt_debug_type[kDebugTypeLen]; - class NeKernelPortHeader final { + class NeKernelDebugHeader final { public: - int16_t fPort; - int16_t fPortBsy; + int16_t fPort; + int16_t fPortKind; + rt_debug_type fPortBlob; }; } // namespace Detail class NeKernelContract : public DebuggerContract { public: NeKernelContract(); - virtual ~NeKernelContract(); + ~NeKernelContract() override; + + public: + NeKernelContract& operator=(const NeKernelContract&) = default; + NeKernelContract(const NeKernelContract&) = default; // Override additional methods from DebuggerContract - virtual bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override; - virtual bool Breakpoint(std::string symbol) noexcept override; - virtual bool Break() noexcept override; - virtual bool Continue() noexcept override; - virtual bool Detach() noexcept override; + bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override; + bool Breakpoint(std::string symbol) noexcept override; + bool Break() noexcept override; + bool Continue() noexcept override; + bool Detach() noexcept override; private: std::string m_ip_address; -- cgit v1.2.3