Update TODO

This commit is contained in:
Clement Rouault
2016-01-26 18:12:59 +01:00
parent 010453e96d
commit 588a1e0461
4 changed files with 10 additions and 30 deletions
+10 -1
View File
@@ -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
-25
View File
@@ -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):
-2
View File
@@ -54,8 +54,6 @@ def Calc64(exit_code=0):
finally:
calc.exit(exit_code)
@contextmanager
def Calc32(exit_code=0):
try:
-2
View File
@@ -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):