'Rev' 카테고리의 글 목록
tistraw0454 님의 블로그

Rev
리버싱 핵심원리 21장 ~ 23장
2024.11.04
21장 Windows 메세지 후킹훅 Hook훅을 건다? : 중간에 오고가는 정보를 엿보거나 가로채기 위해 초소를 설치후킹? : 실제로 정보를 엿보고 조작하는 행위메세지 훅그림과 같이 키보드 메세지 훅이 설치되어있다면 OS 메세지 큐와 응용 프로그램 메세지 큐 사이에 설치된 Hook Chain에 있는 키보드 메세지 훅들이 응용 프로그램보다 먼저 해당 메세지를 볼 수 있다.Hook Chain : 같은 메세지 훅이여도 여러개를 동시에 설치 가능. 이런 훅은 순서대로 호출되기 때문에 이를 훅 체인이라고함.SetWindowsHookEx()HHOOK SetWindowsHookExA( [in] int idHook, // hook type [in] HOOKPROC lpfn, // hook procedu..

Rev
리버싱 핵심원리 20장
2024.10.06
20장 인라인 패치 실습인라인 패치 (inline patch)원하는 코드를 직접 수정하기 어려울 때 간단히 코드 케이브 (code cave) 라고 하는 패치 코드는 삽입한 후 실행해 프로그램을 패치시키는 기법실행 압축되거나 암호화되어 파일을 직접 수정하기 어려운 경우, 파일을 패치할 때 자주 사용된다.패치하기 원하는 코드가 암호화된 OEP영역에 존재하면 패치시키기 어렵다→ 파일 내 코드 케이브라고 한느 별도의 패치코드를 설치한 후 EP 코드의 복호화 과정 이후 JMP 명령어를 수정해 코드 케이브가 실행되도록 한다코드 케이브 내에 패치 코드를 실행 후 (이미 OEP코드가 복호화 되었기 때문에 그대로 수정 가능) OEP로 가면됨즉, 실행될 때마다 (별도의 패치코드를 실행해) 매번 프로세스 메모리의 코드를 패..

Rev
리버싱 핵심원리 16장
2024.09.28
16. Base Relocation TablePE 재배치PE 파일이 ImageBase에 로딩되지 못하고 다른 주소에 로딩될 때 수행되는 일련의 작업PE파일 (exe/dll/sys) 이 프로세스 가상 메모리에 loading 될 때 PE헤더의 ImageBase 주소에 로딩된다.dll(sys) 경우, ImageBase위치에 이미 다른 파일이 로딩되어있다면 다른 비어있는 주소로 로딩된다. ⇒ PE 재배치ASLR (Address Space Layout Randomization )exe 파일이 실행될 때마다 랜덤한 주소에 로딩하는 것PE 재배치 발생시 수행되는 작업PEview로 ImageBase 주소 확인2. ollydbg 로 ep 코드 확인이렇게 네모친 부분의 주소가 이미지베이스 주소가 아닌, 로딩된 주소 기준으..

Rev
리버싱 핵심원리 2부
2024.09.23
PE File FormatPE(Portable Executable) file : windows os에서 사용되는 실행 파일 형식PE, PE32 - 32bitPE+, PE32+ - 64bit종류주요 확장자 실행 계열exe, scr라이브러리 계열dll, ocx, cpl, drv드라이버 계열sys, vxd오브젝트 파일 계열objPE 파일 구조FIle 에서는 offset으로, 메모리에서는 VA(virtual address)로 위치를 표현파일의 내용은 보통 .text, .data, .rsrc 섹션에 나눠 저장된다.섹션 헤더에 각 섹션에 대한 파일/메모리에서의 크기, 위치, 속성 등이 정의되어있다.NULL padding?섹션의 시작위치는 각 파일/메모리의 최소 기본단위의 배수에 해당하는 위치여야하므로 빈공간을 nu..