mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Update TODO
This commit is contained in:
@@ -10,8 +10,17 @@ TODO:
|
||||
- Clean / (rethink?) vectored_exception (+rename exception.py? context.py?)
|
||||
- Test !! (bp, BP_HX, bp on only on process, bp_hx on only one thread..)
|
||||
|
||||
- Injection with suspended process ?
|
||||
- FIX/add test (inject suspended 32 -> 64)
|
||||
- VEH:
|
||||
- reprise sur erreur
|
||||
- reprise context modification
|
||||
|
||||
FIXME:
|
||||
- WMI
|
||||
- COM initialisation when injected in another process
|
||||
- The CoInitialize might be already called
|
||||
- Fix that
|
||||
- Fix that
|
||||
|
||||
- setup.py build seems to raise an error
|
||||
- winutils.create_process : use WinProcess._from_handle
|
||||
@@ -12,7 +12,6 @@ from .generated_def import windef
|
||||
|
||||
from collections import defaultdict
|
||||
|
||||
|
||||
STANDARD_BP = "BP"
|
||||
HARDWARE_EXEC_BP = "HXBP"
|
||||
|
||||
@@ -38,12 +37,9 @@ class Debugger(object):
|
||||
self.threads = {}
|
||||
self.current_process = None
|
||||
self.current_thread = None
|
||||
|
||||
# List of breakpoints
|
||||
self.breakpoints = {}
|
||||
|
||||
self._pending_breakpoints = {} #Breakpoints to put in new process / threads
|
||||
|
||||
# Values rewritten by "\xcc"
|
||||
self._memory_save = defaultdict(dict)
|
||||
# Dict of {tid : {drx taken : BP}}
|
||||
@@ -90,24 +86,6 @@ class Debugger(object):
|
||||
bp.trigger(self, exception)
|
||||
return bp
|
||||
|
||||
# Breakpoint stuff
|
||||
#def _setup_breakpoint(self, bp, target):
|
||||
# if bp.type != 0:
|
||||
# raise NotImplementedError("BP TYPE != 0 (TODO)")
|
||||
# if target is None:
|
||||
# targets = self.processes.items()
|
||||
# # Raise on multiple pending at same addr ?
|
||||
# # We will add the pending breakpoint to other new processes
|
||||
# self._pending_breakpoints[bp.addr] = (bp, target)
|
||||
# else:
|
||||
# targets = [(target.pid, target)]
|
||||
#
|
||||
# for pid, process in targets:
|
||||
# self._break_metadata[pid][bp.addr] = process.read_memory(bp.addr, 1)
|
||||
# #print("Write BP: {0} at {1}".format(process, addr))
|
||||
# process.write_memory(bp.addr, "\xcc")
|
||||
# return
|
||||
|
||||
|
||||
def _setup_breakpoint_BP(self, bp, targets):
|
||||
for target in targets:
|
||||
@@ -210,8 +188,6 @@ class Debugger(object):
|
||||
self.on_exception(exception)
|
||||
|
||||
|
||||
|
||||
|
||||
def _handle_create_process(self, debug_event):
|
||||
"""Handle CREATE_PROCESS_DEBUG_EVENT"""
|
||||
create_process = debug_event.u.CreateProcessInfo
|
||||
@@ -287,7 +263,6 @@ class Debugger(object):
|
||||
self._dispatch_debug_event(debug_event)
|
||||
self._finish_debug_event(debug_event, windef.DBG_CONTINUE)
|
||||
if not self.processes:
|
||||
# No More process to debug
|
||||
break
|
||||
|
||||
def add_bp(self, bp, addr=None, type=None, target=None):
|
||||
|
||||
@@ -54,8 +54,6 @@ def Calc64(exit_code=0):
|
||||
finally:
|
||||
calc.exit(exit_code)
|
||||
|
||||
|
||||
|
||||
@contextmanager
|
||||
def Calc32(exit_code=0):
|
||||
try:
|
||||
|
||||
@@ -745,8 +745,6 @@ class WinProcess(PROCESSENTRY32, Process):
|
||||
return winproxy.TerminateProcess(self.handle, code)
|
||||
|
||||
|
||||
|
||||
|
||||
# Create ProcessToken and Thread Token objects ?
|
||||
class Token(AutoHandle):
|
||||
def __init__(self, handle):
|
||||
|
||||
Reference in New Issue
Block a user