본문 바로가기

Python4

기본 파이썬 버전 변경하기 / 파이썬 가상 환경 설정 참고 : https://linuxconfig.org/how-to-change-from-default-to-alternative-python-version-on-debian-linux Python2를 Python3로 변경하기 나는 기본적으로 python3.x를 선호한다. 하지만 python3을 사용하다 보면, 오픈소스를 실행할 때 에러가 발생하는 경우가 종종 있다(주로 batch 파일을 실행할 때). 이는 해당 오픈소스가 python2.x로 작성되었기 때문인 경우가 많다. python2와 python3는 여러 차이가 있지만 주로 다음과 같은 print문에서 가장 먼저 에러를 만날 확률이 높다. D:\v8\source\v8\tools\dev>v8gen.py x64.release File "D:\v8\sour.. 2019. 2. 17.
Python Hacking Programming (3) 파이썬 해킹 프로그래밍 (Python Hacking Programming) 저자 : 저스틴 지이츠출판사 : 에이콘 3장. 윈도우 디버거 개발[3.4] 브레이크포인트 소스파일 my_debugger.py 소스파일 my_test.py 소스파일 print_loop.py [3.4 브레이크포인트]1. 소프트 브레이크포인트 소프트 브레이크포인트를 설정하기 위해서는 프로세스의 메모리를 읽고 쓸 수 있어야 한다. 이를 위해 사용하는 함수가 바로 ReadProcessMemory()와 WriteProcessMemory() 이 두 함수다. BOOL ReadProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpN.. 2013. 11. 10.
Python Hacking Programming (2) 파이썬 해킹 프로그래밍 (Python Hacking Programming) 저자 : 저스틴 지이츠출판사 : 에이콘 3장. 윈도우 디버거 개발[3.3] 디버그 이벤트 핸들러 구현 [3.3 디버그 이벤트 핸들러 구현]이벤트가 발생했을 때 디버거가 그 이벤트에 반응하기 위해서는 각 디버깅 이벤트에 대한 핸들러를 구현해야 한다. WaitForDebugEvent() 함수를 통해 이벤트가 발생할 때마다 DEBUG_EVENT 구조체를 매번 반환한다. 다음 DEBUG_EVENT 구조체를 살펴보자. typedef struct _DEBUG_EVENT { DWORD dwDebugEventCode; DWORD dwProcessId; DWORD dwThreadId; union { EXCEPTION_DEBUG_INFO Excep.. 2013. 11. 10.
Python Hacking Programming (1) 파이썬 해킹 프로그래밍 (Python Hacking Programming) 저자 : 저스틴 지이츠출판사 : 에이콘 3장. 윈도우 디버거 개발[3.1] 윈도우 디버거 개발[3.2] CPU 레지스터 상태 얻기 소스코드 입니다. 역시 소스코드에 오타가 좀 있었군요 . . . [3.1 윈도우 디버거 개발]프로세스를 디버깅하려면 어떤 식으로든 먼저 해당 프로세스를 디버거와 연결해야 한다. 그래서 디버깅할 프로세스를 실행시키거나, 이미 실행돼 있는 프로세스에 attach를 해야 한다. 프로세스를 실행시키는 경우는 디버거가 실행 바이너리를 직접 실행하는 것인데, 이 경우 해당 프로세스의 코드가 실행되기 전에 제어를 할 수 있다는 장점이 있다. 윈도우에서는 프로세스를 실행시킬 때 CreateProcess() 함수를 호.. 2013. 11. 10.