본문 바로가기

스터디/└ 소스파일들

(13)
Hardware Breakpoint 까지 소스 이 이외의 소스는 변경되지 않았기에, 업로드 하지 않았다. (my_debugger_defines.py , printf_loop 등) my_debugger.py # -*- coding: cp949 -*- from ctypes import * from my_debugger_defines import * kernel32 = windll.kernel32 class debugger(): def __init__(self): self.h_process = None self.pid = None self.debugger_active = False self.h_thread = None self.context = None self.exception = None self.exception_address = None self...
Soft Breakpoint 까지의 소스들 my_debugger.py # -*- coding: cp949 -*- from ctypes import * from my_debugger_defines import * kernel32 = windll.kernel32 class debugger(): def __init__(self): self.h_process = None self.pid = None self.debugger_active = False self.h_thread = None self.context = None self.exception = None self.exception_address = None self.breakpoints = {} self.first_breakpoint = True # Here let's determine and s..
my_test.py # -*- coding: cp949 -*- import my_debugger debugger = my_debugger.debugger() pid = raw_input("Enter the PID of the process to attach to: ") debugger.attach(int(pid)) list = debugger.enumerate_threads() # 스레드 리스트의 각 스레드에 대한 # 레지스터 값을 출력한다. for thread in list: thread_context = debugger.get_thread_context(thread) # 레지스터의 내용을 출력한다. print "[*] Dumping registers for thread ID: 0x%08x" % thread print "..
my_debugger_defines.py http://scytalezz.tistory.com/21
my_debugger.py # -*- coding: cp949 -*- from ctypes import * from my_debugger_defines import * kernel32 = windll.kernel32 class debugger(): def __init__(self): self.h_process = None self.pid = None self.debugger_active = False self.h_thread = None self.context = None # Here let's determine and store # the default page size for the system # determine the system page size. def load(self,path_to_exe): # dwCreation..