Profile

youngsouk

youngsouk

TLS 콜백 함수

TLS 콜백 함수는 기본적으로 프로세스의 스레드 생성/종료시에 호출되게 된다. 그런데 이 함수는 ep 코드보다 먼저 실행이 되기 때문에 이를 이용해 debugging되고 있다면 바로 종료하는 방식으로도 할 수 있다.

이 TLS 콜백 함수를 만들게 되면 pe 정보에

IMAGE_NT_HEADERS - IMAGE_OPTIONAL_HEADER -IMAGE_DATA_DIRECTORY에  IMAGE_TLS_DIRECTORY라는 것이 생기게 된다.

 

그래서 TLS 콜백 함수를 추가하려면

IMAGE_TLS_DIRECTORY구조체를 추가하면 되는데 AddressOfCallBacks에 함수 주소 배열을 넣으면 된다. 그리고 그 배열의 원소에는 함수의 VA의 주소를 집어넣어주면 완성이다.

'윈도우' 카테고리의 다른 글

Service Process 디버깅  (0) 2019.11.04
SEH 예외 처리  (0) 2019.10.31
dll injection시 session 0 isolation우회  (1) 2019.10.29
exe ASLR 특징  (0) 2019.10.29
32 bit 와 64bit에 따른 cpu 종류  (0) 2019.10.28