728x90
๋ฐ์ํ
my_dll.c (DLL ๋ง๋ค๊ธฐ)
#include <windows.h>
void func() {
system("start www.google.com");
}
GCC DLL ๋น๋
gcc -shared my_dll.dll -o my_dll.c
run.c (DLL ์ฌ์ฉํ๊ธฐ)
#include <stdio.h>
#include <windows.h>
typedef void(*dll_func)();
int main(){
HINSTANCE hDLL = LoadLibrary("my_dll.dll");
if(hDLL == NULL){
printf("Failed to load DLL\n");
return 1;
}
dll_func func = (dll_func)GetProcAddress(hDLL, "func");
if(func == NULL){
printf("Failed to get function address\n");
return 1;
}
(*func)();
return 0;
}
#include "windows.h"
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
system("calc.exe");
return TRUE;
}
gcc -shared test.dll -o test.c
rundll32 test.dll ANYTHING~
728x90
๋ฐ์ํ
'๐จ๐ผโ๐ป๊ฐ๋ฐ > C | C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C++ - json parser ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๋ฐ ์ฌ์ฉ ๋ฐฉ๋ฒ(jsoncpp) (0) | 2022.06.27 |
---|---|
C++ - ๋น์ฃผ์ผ ์คํ๋์ค E1696 : ํ์ผ ์์ค์(๋ฅผ) ์ด ์ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2022.06.27 |