From 94ceccd5acda2fd035eb55235126b944b0915576 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Wed, 14 May 2025 14:27:43 +0200 Subject: dev(kdbg): Working on NeKernel Debugger. how: - Load vmkrnl.efi. - Keep track of IP, Stack, and debugging information related to the kernel. - Make use of breakpoints and provide lldb grade experience. Signed-off-by: Amlal El Mahrouss --- dev/LibDebugger/src/NeKernelContractCLI.cc | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 dev/LibDebugger/src/NeKernelContractCLI.cc (limited to 'dev/LibDebugger/src/NeKernelContractCLI.cc') diff --git a/dev/LibDebugger/src/NeKernelContractCLI.cc b/dev/LibDebugger/src/NeKernelContractCLI.cc new file mode 100644 index 0000000..1f05ff2 --- /dev/null +++ b/dev/LibDebugger/src/NeKernelContractCLI.cc @@ -0,0 +1,35 @@ +/*** + LibDebugger + (C) 2025 Amlal El Mahrouss + File: NeKernelContract.cc + Purpose: NeKernel Debugger CLI. +*/ + +#ifdef LD_NEKERNEL_DEBUGGER + +#include +#include +#include + +#include +#include +#include + +#include + +using namespace LibDebugger::NeKernel; + +LIBCOMPILER_MODULE(DebuggerNeKernel) { + pfd::notify("Debugger Event", + "Kernel Debugger\n(C) 2025 Amlal El Mahrouss, all rights reserved."); + + if (argc >= 3 && std::string(argv[1]) == "-p" && argv[2] != nullptr) { + kPath = argv[2]; + kStdOut << "[+] Kernel image set to: " << kPath << "\n"; + } + + + return EXIT_SUCCESS; +} + +#endif // LD_NEKERNEL_DEBUGGER \ No newline at end of file -- cgit v1.2.3