Windbg pykd Память останова
Я пытаюсь сделать сценарии автоматизации с функцией точки останова памяти с помощью pykd на windbg
и это мой сценарий вкратце
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
и как исправить скрипт, чтобы он хорошо работал
1 ответ
Решение
Я решил свою проблему. Это была просто проблема фильтрации исключений.
WinDBG - как установить все исключения для передачи в приложение?
На pykd я не могу обработать процесс WinDbg, поэтому я отключил его, и скрипт работает!
благодарю вас