anet a8 3d printer (prusa i3) 출력물(3)
어셈블리어 튜토리얼 (14) 64비트
4. 64비트
4.1. 32비트와 달라진점
레지스터들이 64bit(8byte)이다. 기존 32비트 레지스터와 구분하기위해 명칭이 달라졌다. e대신 r로 시작한다. rax, rbx, rcx, rdx, rbp, rsp
기존의 e로 시작하는(eax등)의 레지스터도 그대로 사용한다. 예를들어 rax
의 하위 32비트는 eax
이다.
r8, r9, r10, r11,
…
초소형PC 라떼판다 (2gb/32gb) 사용기
어셈블리어 튜토리얼 (13) post sniffing

3.6. post sniffing
이번엔 post 값을 중간에서 가로채는 예제를 만들어보겠다. 윈도우 api 중 post 값을 서버에 전송하는 api는 wininet.dll 의 HttpSendRequest가 있다. 이 api를 후킹하면 post값을 가로챌 수 있다.
BOOL HttpSendRequest(
_In_ HINTERNET hRequest,
_In_ LPCTSTR lpszHeaders,
_In_ DWORD
… 오버워치 스피드핵 테스트
스피드핵 예제로 최근 FPS게임인 오버워치로 테스트해보았다.
여러가지 동작과 움직임이 빨라졌다.
하지만 실제 속도는 달라지지 않았다. 애니메이션 동작만 빨라져서 빨리진것 처럼 보이는 것뿐이다.
이는 실제 딜레이는 delta time
외에 다른것으로 체크하기 때문일것 같다.
네트워크 체크면 답이 …
어셈블리어 튜토리얼 (12) speed hack

3.5. speed hack
이번에는 api hooking 을 이용한 스피드핵이다.
프로그램에선 보통 컴퓨터 성능과 상관없는 일정한 운직임을 위해 장면의 시간 간격(delta time)
을 구해서 움직임에 사용한다.
예를 들어 이런것이다.
; Update함수는 장면을 그리는 함수
1. Update를 1초에 10번 호출할 수 …
어셈블리어 튜토리얼 (11) api hooking (Trampoline)

이번엔 Trampoline 기법을 이용한 api hooking을 살펴보도록 하겠다.
뜻은 어릴때 뛰어놀던 “방방이” 인거 같은데 왜이런 명칭인지는 모르겠다. ㄲㄲ
5byte patch 라고도 한다. 32비트 프로그램에서 함수의 시작부분은 거의 항상
mov edi, edi
push ebp
mov ebp, esp
이렇게 시작하는데 이 부분이 …
[python] opencv-python 설치/빌드

일단 기본적인 opencv-python은 pip를 이용해서 쉽게 설치할 수 있다.
pip install opencv-python
하지만 이미지 특징점을 찾는 SIFT, FAST, Face찾기
등의 (특허가 있는) 알고리즘같은 경우는 기본 opencv에 포함되어있지 않다.
이는 별도의 모듈묶음 opencv_contrib으로 따로 배포한다.
opencv_contrib까지 포함하여 다시 빌드를 …
어셈블리어 튜토리얼 (10) api hooking (IAT)
DLL인젝션을 이용하여 다른 프로세스에 침투하는 방법을 알아봤으니 이제 프로세스 조작의 일종인 api hooking 에 대해서 알아보자.
api hooking란 윈도우 api 함수
를 가로채서 다르게 동작하게 하는것이다. 후킹이란 뭔가를 가로채는것인데 여러가지 후킹이 있다. 다른 일반적인 후킹도 있는데 다 가로챈다는 의미로 …