728x90
반응형
1. 개요
- hosts 파일 수정으로 특정 URL을 웹 브라우저에 입력 시 원하는 서버로 연결 가능.
ex) www.daum.net 입력 -> 결과는 www.google.com 로 이동
- hosts 파일 경로 : C:\Windows\System32\drivers\etc\hosts
- 리소스 드랍 활용
- 관리자 권한 필요
- hosts 파일 변경은 백신에서 탐지됨
2. 설정
3. 코드
#include<windows.h>
#include "resource.h" // 수정된 hosts 파일을 리소스로 등록 : IDR_FILE1
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_Inst;
LPCWSTR lpszClass = TEXT("WINDOW");
// WinMain 생략
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
HMODULE hDll;
HRSRC hResource;
HGLOBAL hData;
DWORD filesize, numWritten;
LPVOID pResource;
HANDLE hFile;
switch(iMessage)
{
case WM_CREATE:
// 리소스 가져옴
hResource = FindResource(g_Inst, MAKEINTRESOURCE(IDR_FILE1), L"file");
hData = LoadResource(g_Inst, hResource);
pResource = LockResource(hData);
filesize = SizeofResource(hDll, hResource);
// 가져온 리소스를 hosts 경로에 써줌
hFile = CreateFile(L"C:\\Windows\\System32\\drivers\\etc\\hosts", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
if(hFile != INVALID_HANDLE_VALUE)
{
if(WriteFile(hFile, pResource, filesize, &numWritten, NULL))
{
MessageBox(0, L"write success", 0, 0);
}
}
CloseHandle(hFile);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, iMessage, wParam,lParam);
}
728x90
반응형
'프로그래밍 > Windows' 카테고리의 다른 글
[WPF] Visual Studio 2022 개발 환경 구축 및 프로젝트 빌드 (0) | 2020.03.15 |
---|---|
[Windows] 윈도우 로그인 배경화면 변경 (0) | 2016.09.17 |
[Windows] 환경 변수 얻어오기 (Win32API) (0) | 2016.09.04 |
[Windows] 리소스 드랍 (Win32API) (0) | 2015.08.31 |
[Windows] 윈도우 버전 확인 (Win32API) (1) | 2015.08.23 |
[Windows] 프로세스/운영체제 비트 확인 (Win32API) (0) | 2015.08.23 |
댓글