Open mrexodia opened 7 years ago
I'd love to help with this. Problem is that I have zero time :/ If someone get started, I'll see if I can pitch in along the way.
This issue was provided as a way to get started, you can pick any function/class you like and see what's required to port it.
Features from pykd that have to be ported over:
pykd.dbgCommand
pykd.disasm
pykd.dprintln
pykd.findMemoryRegion
pykd.findSymbol
pykd.getCurrentProcess
pykd.getCurrentProcessId
pykd.getImplicitThread
pykd.getProcessThreads
pykd.getVaProtect
pykd.is64bitSystem
pykd.isValid
pykd.loadBytes
pykd.loadChars
pykd.loadCStr
pykd.loadDWords
pykd.loadUnicodeString
pykd.loadWChars
pykd.loadWStr
pykd.MemoryException
pykd.module
pykd.ptrDWord
pykd.reg
pykd.typedVar
pykd.typedVarList
pykd.version
pykd.ptrPtr
The original code of windbglib is around 1800 lines. This means that the effort of a full rewrite should be small, except in cases where the underlying functionality is not yet exposed by x64dbg. Contact me if you stumble across missing functionality. I will not work on the porting myself since I have no interest in doing so. I am however available if you need assistance.
Here follows an overview of the things that have to be ported (essentially a summary of the code):
Utility functions
Debugger (class)
AsmCache
Knowledge
Placeholders
LOGGING
Process stuff
OS stuff
Registers
Commands
SEH
Memory
Modules
Assembly & Disassembly related route
strings
Breakpoints
Tables
Symbols
wmodule
Other classes