0
我試圖通過使用WinDbg的WinDBG的pykd記憶斷點
一個pykd,以與斷點記憶功能的自動化腳本,這是我在很短
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
當GUARD_PAGE_VIOLATION發生腳本,
「嗨MemBp!」打印並WinDbg打破目標進程
與「第一次機會異常在任何異常處理之前報告 此異常可能會被預期和處理。
我希望知道爲什麼它打破即使我給NOCHANGE
以及如何修復腳本作品以及
您可以發佈您在WinDbg中使用的命令來激活您的PyKd腳本嗎? –
我使用這個命令 >>。load pykd >>!py c:\ ad.py and ad.py is my python script – Vanz
我發佈的類的目的是捕獲恢復內存數據的時刻。另外,在我的腳本中,我使用了類「memBpHandler = MemBpHandler()」,「memBpHandler.setPageGuard(memBpHandler.pIatBase,memBpHandler.sizeIat)」 – Vanz