|
RoboDBG
|
Utility helper functions for more high-level stuff. More...
Functions | |
| uintptr_t | injectDLL (HANDLE hProcess, const char *dllPath) |
| Injects a DLL into the specified process. | |
| std::string | getDllName (HANDLE hProcess, LPVOID lpImageName, BOOL isUnicode) |
| Retrieves the name of a DLL from a remote process. | |
| bool | executeRemote (HANDLE hProcessGlobal, const std::vector< BYTE > &shellcode) |
| Executes shellcode in a remote process. | |
| DWORD | findProcessId (const std::string &processName) |
| Finds the process ID of a process by name. | |
| bool | EnableDebugPrivilege () |
| Enables the SeDebugPrivilege privilege for the current process. | |
| DWORD_PTR | getEntryPoint (HANDLE hProcess, LPVOID baseAddress) |
| Gets the entry point address of a loaded module in a remote process. | |
Utility helper functions for more high-level stuff.
| bool RoboDBG::Util::EnableDebugPrivilege | ( | ) |
| bool RoboDBG::Util::executeRemote | ( | HANDLE | hProcessGlobal, |
| const std::vector< BYTE > & | shellcode ) |
Executes shellcode in a remote process.
Allocates memory in the target process, writes the provided shellcode, and creates a remote thread to execute it.
| hProcessGlobal | Handle to the target process with execution rights. |
| shellcode | Vector containing the shellcode bytes to execute. |
| DWORD RoboDBG::Util::findProcessId | ( | const std::string & | processName | ) |
Finds the process ID of a process by name.
Iterates over all running processes and matches against processName.
| processName | Name of the process executable (e.g., "notepad.exe"). |
Definition at line 122 of file util.cpp.
Referenced by RoboDBG::Debugger::attach().
| std::string RoboDBG::Util::getDllName | ( | HANDLE | hProcess, |
| LPVOID | lpImageName, | ||
| BOOL | isUnicode ) |
Retrieves the name of a DLL from a remote process.
Reads the memory at lpImageName in the remote process and returns the name as a string.
| hProcess | Handle to the target process. |
| lpImageName | Address of the string in the remote process. |
| isUnicode | TRUE if the string is in Unicode format, FALSE for ANSI. |
Definition at line 55 of file util.cpp.
Referenced by RoboDBG::Debugger::loop().
| DWORD_PTR RoboDBG::Util::getEntryPoint | ( | HANDLE | hProcess, |
| LPVOID | baseAddress ) |
Gets the entry point address of a loaded module in a remote process.
Parses the PE header of the loaded image in the target process to determine the entry point address.
| hProcess | Handle to the target process. |
| baseAddress | Base address of the module in the target process. |
Definition at line 190 of file util.cpp.
Referenced by RoboDBG::Debugger::loop().
| uintptr_t RoboDBG::Util::injectDLL | ( | HANDLE | hProcess, |
| const char * | dllPath ) |
Injects a DLL into the specified process.
Allocates memory in the remote process, writes the DLL path, and creates a remote thread to load the DLL.
| hProcess | Handle to the target process with PROCESS_ALL_ACCESS rights. |
| dllPath | Full path to the DLL to inject. |