본문 바로가기

스터디

(58)
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..
20150114 스터디 정리 비쌈 메모리 최적화가 중요하다.Ex) fopen() 후 fclose() 를 해줘야함.물론 묵시적으로 프로그램이 종료되면 메모리가 반환되지만, 서버일 경우 죽지 않게 코딩하는 것이 목적이므로 fclose() 같은 메모리 반환은 중요하다. C 에서는 fopen 에 인자로 'w','r' 같이 읽기/쓰기를 구분하지만C++ 에서는 ifstream, ofstream 으로 구분한다. (함수명으로 구분한다.) cout
DLL 기초개념 http://xenostudy.tistory.com/6 출처의 내용으로 내용을 정리.스터디 중에 나온 질문에 대한 답변 링크. 글쓴이 : Xeno출처 : Visual C++ programming Bible Ver.6.x /MSDN DLL 이란? DLL(Dynamic Link Library)은 여러 함수의 공유 라이브러리로 사용되는 실행파일.동적 링크를 통해 프로세스에서 해당 프로세스의 실행 코드에 포함되지 않은 함수를 호출할 수 있음.함수의 실행코드는 DLL에 있음.DLL에는 이것을 사용하는 프로세스와는 별도로 컴파일, 링크 및 저장되는 하나 이상의 함수가 포함되어 있음.--> 여러 개의 응용 프로그램이 메모리에 있는 하나의 DLL 복사본 내용을 동시에 액세스 할 수 있음. [+] 함수 이름과 주소를 매..
스터디 질문 답변 Q3. JTP 12345 -> 12,345 예제에서 소스코드 구조 질문 # commanumber.py import string def comma_number(number): if number[0] in ['+', '-']: sign_mark, number = number[:1], number[1:] else: sign_mark = '' try: tmp = string.split(number, '.') num = tmp[0]; decimal = '.' + tmp[1] except: num = number; decimal = '' head_num = len(num) % 3 result = '' for pos in range(len(num)): if pos == head_num and head_num: res..
2015-01-15 스터디 http://xenostudy.tistory.com/6정리할 것 각자 질문 내용최호수1. 동적 라이브러리를 링크할 때, 외부에 제공하는 export 함수란?--> http://xenostudy.tistory.com/6 (DLL 작동방식) 2. 스택 프레임에서 스택은 아래서 위로 쌓아 올린다. 와이?--> 아래와 위에서 안쪽으로 쌓아 올려서 효율적인 메모리 활용이 가능하다. 정상민1. 파이썬 해킹 28페이지에서"하지만 함수 호출자가 스택을 정리하는 것이 아니라 호출된 함수가 리턴하기 바로 전에 스택을 정리한다."가 무슨 뜻인지 이해를 못함.--> 함수 호출 규약 (cdecl, stdcall) 자체가 다른 것. 스택을 호출자가 정리하느냐, 피호출자가 정리하느냐 차이.--> 추후 좀 더 찾아볼 것2. 유니언의..
2015-01-12 질문 정리 Q1. 책에서는 Win32 API가 stdcall을 사용한다고 말했는데, 어떤 곳에서는 윗 부분처럼 함수의 파라미터가 명확하게 정의되어 있어 함수 내부에서 파라미터를 pop하는 cdecl 방식을 주로 이용한다고 함. 진실은? Q2. 스택에서 꺼낼 때, 함수내에서 pop 하는 것과 호출자에서 pop 하는 것중 무엇이 다르며, 왜 함수 내에서 가변적인 파라미터를 스택에서 pop 할 수 없는가. Q3. JTP 12345 -> 12,345 예제에서 소스코드 구조 질문