Windbg pykd内存断点
我试图通过在windbg上使用pykd来制作具有内存断点功能的自动化脚本 简而言之,这是我的剧本Windbg pykd内存断点,windbg,breakpoints,pykd,Windbg,Breakpoints,Pykd,我试图通过在windbg上使用pykd来制作具有内存断点功能的自动化脚本 简而言之,这是我的剧本 class MemBpHandler(pykd.eventHandler): def setPageGuard(self, addr, size, guard=0x140): # Set PAGE_GUARD cmdVprotect = "!sdbgext.vprotect %x %x %x" cmdr = pykd.dbgCommand(cmdVprotec
class MemBpHandler(pykd.eventHandler):
def setPageGuard(self, addr, size, guard=0x140): # Set PAGE_GUARD
cmdVprotect = "!sdbgext.vprotect %x %x %x"
cmdr = pykd.dbgCommand(cmdVprotect % (addr, size, guard))
dbiprintf(cmdr)
def onException(self, exceptInfo):
dbiprintf("[!] Exception occured")
if exceptInfo.exceptionCode == 0x80000001: # GUARD_PAGE_VIOLATION # Memory breakpoint
dbiprintf("Hi MemBp!")
# ...some procedures...
return pykd.eventResult.NoChange # <=== NoChange but WinDbg breaks
return pykd.eventResult.NoChange
类MemBpHandler(pykd.eventHandler):
def setPageGuard(self,addr,size,guard=0x140):#设置页面_guard
cmdVprotect=“!sdbgext.vprotect%x%x”
cmdr=pykd.dbgCommand(CMDVROTECT%(地址、大小、防护))
dbiprintf(cmdr)
def onException(自我,例外信息):
dbiprintf(“发生[!]异常”)
如果ExceptionInfo.exceptionCode==0x80000001:#保护#页面#冲突#内存断点
dbiprintf(“himembp!”)
#…一些程序。。。
return pykd.eventResult.NoChange#我解决了我的问题。这只是一个异常过滤问题
在pykd上,我无法处理WinDbg的进程,因此我禁用了它,脚本可以正常工作
谢谢您能否发布您在WinDbg中使用的命令以激活PyKd脚本?我使用此命令>>。加载PyKd>>!py c:\ad.py和ad.py是我的python脚本我发布的类的目的是捕获在内存中恢复数据的时刻。另外,在我的脚本中,我使用的类类似于“memBpHandler=memBpHandler()”、“memBpHandler.setPageGuard(memBpHandler.pIatBase,memBpHandler.sizeIat)”