본문 바로가기

LoadLibrary 본문

보안/개인공부

LoadLibrary

Seongjun_You 2022. 2. 16. 01:12

dreamhack 문제를 푸는데

dll injection 관련 문제가 나왔다.

dll을 로드하여 exe파일을 만들어야 했다.

처음에 notepad로 확장자명을 바꾸어 만들었으나

dll을 로드하는데있어 잘 되지 않았다.

 

그래서 visual studio를 이용했다.

 

#include <cstdio>
#include <Windows.h>

int main()
{
	HINSTANCE prob = LoadLibraryA("???.dll");

	if (prob == NULL)
	{
		printf("dll 로드 실패\n");
		return -1;
	}

	printf("dll 로드 성공");

	return 0;
}

해당 코드로 원하는 dll을 로드한 exe파일을 만들 수 있다.

 

옵션 창에서 빌드 -> 일괄 빌드를 눌러준다.

실행시 프로젝트 디렉터리에 exe파일이 생성되어있다.

 

 

처음 LoadLibrary로 load를 시도했으나 

exe파일이 생성이 되지 않아

LoadLibraryA를 이용했더니 오류 없이 진행됐다.

'보안 > 개인공부' 카테고리의 다른 글

NoSQL Injection 파이썬 이용  (0) 2022.05.23
fork 디버깅, PIE 디버깅  (0) 2022.03.06
base64  (0) 2022.02.13
_IO_FILE Arbitrary Address Write  (0) 2022.02.10
_IO_FILE Arbitrary Address Read  (0) 2022.02.10
Comments